Rev 1962 | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | SVN | RSS feed
| Rev 1962 | Rev 1986 | ||
|---|---|---|---|
| 1 | 1 | ||
| 2 | var Socket_Connections = {}; |
2 | var Socket_Connections = {}; |
| 3 | 3 | ||
| 4 | var SOCKET_STATE_CONNECTED = 0x00; |
4 | var SOCKET_STATE_CONNECTED = 0x00; |
| 5 | var SOCKET_STATE_DISCONNECTED = 0x01; |
5 | var SOCKET_STATE_DISCONNECTED = 0x01; |
| 6 | var SOCKET_STATE_ACCEPTED = 0x02; |
6 | var SOCKET_STATE_ACCEPTED = 0x02; |
| 7 | 7 | ||
| 8 | function Socket_OnNewData( |
8 | function Socket_OnNewData(id, data) |
| 9 | { |
9 | { |
| 10 | var id = socket_id; |
- | |
| 11 | - | ||
| 12 | if (!Socket_Connections[id]) |
- | |
| 13 | { |
- | |
| 14 | id = server_id; |
- | |
| 15 | } |
- | |
| 16 | - | ||
| 17 | if (Socket_Connections[id]) |
10 | if (Socket_Connections[id]) |
| 18 | { |
11 | { |
| 19 | Socket_Connections[id]["ondata"](id, data); |
12 | Socket_Connections[id]["ondata"](id, data); |
| 20 | } |
13 | } |
| - | 14 | ||
| - | 15 | return true; |
|
| - | 16 | } |
|
| - | 17 | ||
| - | 18 | function Socket_OnNewClient(id, server_id) |
|
| - | 19 | { |
|
| - | 20 | if (Socket_Connections[server_id]) |
|
| - | 21 | { |
|
| - | 22 | Socket_Connections[id] = { "ondata" : Socket_Connections[server_id]["ondata"], "onstate" : Socket_Connections[server_id]["onstate"] }; |
|
| - | 23 | ||
| - | 24 | Socket_Connections[server_id]["onaccept"](id, server_id); |
|
| - | 25 | } |
|
| 21 | 26 | ||
| 22 | return true; |
27 | return true; |
| 23 | } |
28 | } |
| 24 | 29 | ||
| 25 | function Socket_OnNewState( |
30 | function Socket_OnNewState(id, state) |
| 26 | { |
31 | { |
| 27 | var id = socket_id; |
- | |
| 28 | - | ||
| 29 | if (!Socket_Connections[id]) |
- | |
| 30 | { |
- | |
| 31 | id = server_id; |
- | |
| 32 | } |
- | |
| 33 | - | ||
| 34 | if (Socket_Connections[id]) |
32 | if (Socket_Connections[id]) |
| 35 | { |
33 | { |
| 36 | Socket_Connections[id]["onstate"](id, state); |
34 | Socket_Connections[id]["onstate"](id, state); |
| 37 | 35 | ||
| 38 | if (state == SOCKET_STATE_DISCONNECTED) |
36 | if (state == SOCKET_STATE_DISCONNECTED) |
| 39 | { |
37 | { |
| 40 | delete Socket_Connections[id]; |
38 | delete Socket_Connections[id]; |
| 41 | } |
39 | } |
| 42 | } |
40 | } |
| 43 | 41 | ||
| 44 | return true; |
42 | return true; |
| 45 | } |
43 | } |
| 46 | 44 | ||
| 47 | function Socket_StartServer(port, ondata_callback, onstate_callback) |
45 | function Socket_StartServer(port, onaccept_callback, ondata_callback, onstate_callback) |
| 48 | { |
46 | { |
| 49 | socket_id = SocketExport_StartServer(port); |
47 | socket_id = SocketExport_StartServer(port); |
| 50 | 48 | ||
| 51 | if (socket_id > 0) |
49 | if (socket_id > 0) |
| 52 | { |
50 | { |
| 53 | Socket_Connections[socket_id] = { "ondata" : ondata_callback, "onstate" : onstate_callback }; |
51 | Socket_Connections[socket_id] = { "onaccept" : onaccept_callback, "ondata" : ondata_callback, "onstate" : onstate_callback }; |
| 54 | } |
52 | } |
| 55 | 53 | ||
| 56 | return socket_id; |
54 | return socket_id; |
| 57 | } |
55 | } |
| 58 | 56 | ||
| 59 | function Socket_Connect(address, port, ondata_callback, onstate_callback) |
57 | function Socket_Connect(address, port, ondata_callback, onstate_callback) |
| 60 | { |
58 | { |
| 61 | socket_id = SocketExport_Connect(address, port); |
59 | socket_id = SocketExport_Connect(address, port); |
| 62 | 60 | ||
| 63 | if (socket_id > 0) |
61 | if (socket_id > 0) |
| 64 | { |
62 | { |
| 65 | Socket_Connections[socket_id] = { "ondata" : ondata_callback, "onstate" : onstate_callback }; |
63 | Socket_Connections[socket_id] = { "ondata" : ondata_callback, "onstate" : onstate_callback }; |
| 66 | } |
64 | } |
| 67 | 65 | ||
| 68 | return socket_id; |
66 | return socket_id; |
| 69 | } |
67 | } |
| 70 | 68 | ||
| 71 | function Socket_StopServer(socket_id) |
69 | function Socket_StopServer(socket_id) |
| 72 | { |
70 | { |
| 73 | SocketExport_StopServer(socket_id); |
71 | SocketExport_StopServer(socket_id); |
| 74 | 72 | ||
| 75 | delete Socket_Connections[socket_id]; |
73 | delete Socket_Connections[socket_id]; |
| 76 | } |
74 | } |
| 77 | 75 | ||
| 78 | function Socket_Disconnect(socket_id) |
76 | function Socket_Disconnect(socket_id) |
| 79 | { |
77 | { |
| 80 | SocketExport_Disconnect(socket_id); |
78 | SocketExport_Disconnect(socket_id); |
| 81 | 79 | ||
| 82 | delete Socket_Connections[socket_id]; |
80 | delete Socket_Connections[socket_id]; |
| 83 | } |
81 | } |
| 84 | 82 | ||
| 85 | function Socket_Send(socket_id, data) |
83 | function Socket_Send(socket_id, data) |
| 86 | { |
84 | { |
| 87 | SocketExport_Send(socket_id, data); |
85 | SocketExport_Send(socket_id, data); |
| 88 | } |
86 | } |
| 89 | 87 | ||