{ "id": "171902", "key": "TIMOB-26195", "fields": { "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false }, "project": { "id": "10153", "key": "TIMOB", "name": "Titanium SDK/CLI", "projectCategory": { "id": "10100", "description": "Titanium and related SDKs used in application development", "name": "Client" } }, "fixVersions": [], "resolution": null, "resolutiondate": null, "created": "2018-07-10T19:25:27.000+0000", "priority": { "name": "Medium", "id": "3" }, "labels": [ "engArch", "parity" ], "versions": [], "issuelinks": [ { "id": "56673", "type": { "id": "10001", "name": "Cloners", "inward": "is cloned into", "outward": "is cloned from" }, "outwardIssue": { "id": "171900", "key": "TIMOB-26193", "fields": { "summary": "Android: Implement Ti.Network.Socket.UDP", "status": { "description": "The issue is open and ready for the assignee to start work on it.", "name": "Open", "id": "1", "statusCategory": { "id": 2, "key": "new", "colorName": "blue-gray", "name": "To Do" } }, "priority": { "name": "Medium", "id": "3" }, "issuetype": { "id": "2", "description": "A new feature of the product, which has yet to be developed.", "name": "New Feature", "subtask": false } } } }, { "id": "56674", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "outwardIssue": { "id": "171901", "key": "TIMOB-26194", "fields": { "summary": "iOS: Implement Ti.Network.Socket.UDP", "status": { "description": "The issue is open and ready for the assignee to start work on it.", "name": "Open", "id": "1", "statusCategory": { "id": 2, "key": "new", "colorName": "blue-gray", "name": "To Do" } }, "priority": { "name": "Medium", "id": "3" }, "issuetype": { "id": "2", "description": "A new feature of the product, which has yet to be developed.", "name": "New Feature", "subtask": false } } } }, { "id": "57493", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "outwardIssue": { "id": "166368", "key": "MOD-2326", "fields": { "summary": "Titanium.Network.Socket.UDP on iOS and Android", "status": { "description": "The issue is open and ready for the assignee to start work on it.", "name": "Open", "id": "1", "statusCategory": { "id": 2, "key": "new", "colorName": "blue-gray", "name": "To Do" } }, "issuetype": { "id": "4", "description": "An improvement or enhancement to an existing feature or task.", "name": "Improvement", "subtask": false } } } } ], "assignee": null, "updated": "2019-11-23T15:08:27.000+0000", "status": { "description": "The issue is open and ready for the assignee to start work on it.", "name": "Open", "id": "1", "statusCategory": { "id": 2, "key": "new", "colorName": "blue-gray", "name": "To Do" } }, "components": [ { "id": "10202", "name": "Android", "description": "Android Platform" }, { "id": "10224", "name": "TiAPI", "description": "This component is used for cross-platform API work. Specifications are most likely to use this component." }, { "id": "12642", "name": "Windows", "description": "Windows authoring support" } ], "description": "The Ti.Network.Socket.TCP and Ti.Network.Socket.UDP APIs should be as similar as we can possibly achieve. However they differ significantly at the most basic levels.\r\n\r\nSpecifically:\r\n- TCP uses properties to set host/port then calls {{#listen()}} and {{#accept()}}, UDP uses {{#start(port, [host])}} for starting a local socket\r\n- TCP uses {{#close()}}, UDP uses {{#stop()}} to tear down the socket\r\n- TCP uses properties to set host/port then calls {{#connect()}}, it's unclear to me how UDP handles connecting/sending data to a remote socket as a client.\r\n- TCP has callbacks for {{accepted}}/{{connected}} (server got a connection, connected as a client); UDP has {{started}}/{{data}} (socket bound, socket received data).\r\n- The properties/callbacks differ in naming of common properties, i.e. port is the same, but TCP uses {{host}} while UDP uses {{address}}.\r\n- TCP forces you to use {{IOStream}} read/write methods (using {{Ti.Buffer}}); UDP has special methods for writing bytes (as Number[]) and Strings.", "attachment": [], "flagged": false, "summary": "Parity: Ti.Network.Socket.UDP API differs significantly from Ti.Network.Socket.TCP API", "creator": { "name": "cwilliams", "key": "cwilliams", "displayName": "Christopher Williams", "active": true, "timeZone": "America/New_York" }, "subtasks": [], "reporter": { "name": "cwilliams", "key": "cwilliams", "displayName": "Christopher Williams", "active": true, "timeZone": "America/New_York" }, "environment": null, "comment": { "comments": [ { "id": "452899", "author": { "name": "ray@raymondverbruggen.nl", "key": "ray@raymondverbruggen.nl", "displayName": "Raymond Verbruggen", "active": true, "timeZone": "Europe/Berlin" }, "body": "This would help a lot for iOS and Android. The Ti.UDP module is not supported by SDK 7/8....", "updateAuthor": { "name": "ray@raymondverbruggen.nl", "key": "ray@raymondverbruggen.nl", "displayName": "Raymond Verbruggen", "active": true, "timeZone": "Europe/Berlin" }, "created": "2019-11-23T15:08:27.000+0000", "updated": "2019-11-23T15:08:27.000+0000" } ], "maxResults": 1, "total": 1, "startAt": 0 } } }