{"action":"closed","issue":{"url":"https://api.github.com/repos/epics-modules/asyn/issues/11","labels_url":"https://api.github.com/repos/epics-modules/asyn/issues/11/labels{/name}","comments_url":"https://api.github.com/repos/epics-modules/asyn/issues/11/comments","events_url":"https://api.github.com/repos/epics-modules/asyn/issues/11/events","html_url":"https://github.com/epics-modules/asyn/issues/11","id":121064836,"number":11,"title":"Problem with UDP broadcast sockets","user":{"login":"MarkRivers","id":6115534,"avatar_url":"https://avatars.githubusercontent.com/u/6115534?v=3","gravatar_id":"","url":"https://api.github.com/users/MarkRivers","html_url":"https://github.com/MarkRivers","followers_url":"https://api.github.com/users/MarkRivers/followers","following_url":"https://api.github.com/users/MarkRivers/following{/other_user}","gists_url":"https://api.github.com/users/MarkRivers/gists{/gist_id}","starred_url":"https://api.github.com/users/MarkRivers/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MarkRivers/subscriptions","organizations_url":"https://api.github.com/users/MarkRivers/orgs","repos_url":"https://api.github.com/users/MarkRivers/repos","events_url":"https://api.github.com/users/MarkRivers/events{/privacy}","received_events_url":"https://api.github.com/users/MarkRivers/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":4,"created_at":"2015-12-08T18:05:14Z","updated_at":"2016-01-18T01:31:55Z","closed_at":"2016-01-18T01:31:55Z","body":"There is a problem with UDP broadcast sockets created with drvAsynIPPortConfigure using the IP protocol string UDP*.  Broadcast messages written to that socket work correctly.  However, replies from clients to such broadcasts are rejected by the server that sent the broadcast.  The problem is that the drvAsynIPPort calls connect(), send(), and recv() on such sockets.  This is incorrect, it should not call connect(), and it should call sendto() and recvfrom() rather than send() and recv().\r\n\r\nPull request #10 fixes this problem by doing the following for all UDP ports, not just ports configured for broadcasts:\r\n- Does not call connect()\r\n- Calls sendto() rather than send()\r\n- Calls recvfrom() rather than recv()\r\n "}}