Subversion Repositories HomeAutomation

Rev

Rev 1962 | Details | Compare with Previous | Last modification | View Log | SVN | RSS feed

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