diff options
author | gareth | 2007-04-22 04:50:58 +0000 |
---|---|---|
committer | gareth | 2007-04-22 04:50:58 +0000 |
commit | b8c742b9328a4caacadb6ea858f2574e814830cc (patch) | |
tree | e75914dea56c432f9be14e604cd240a03a88cd69 /OpenSim.Servers | |
parent | Bumped avatar entry height to 15m above ground rather than the old 1m above g... (diff) | |
download | opensim-SC-b8c742b9328a4caacadb6ea858f2574e814830cc.zip opensim-SC-b8c742b9328a4caacadb6ea858f2574e814830cc.tar.gz opensim-SC-b8c742b9328a4caacadb6ea858f2574e814830cc.tar.bz2 opensim-SC-b8c742b9328a4caacadb6ea858f2574e814830cc.tar.xz |
Added some more good stuff to the new TCP skeleton
Diffstat (limited to 'OpenSim.Servers')
-rw-r--r-- | OpenSim.Servers/OpenGridProtocol.cs | 24 |
1 files changed, 17 insertions, 7 deletions
diff --git a/OpenSim.Servers/OpenGridProtocol.cs b/OpenSim.Servers/OpenGridProtocol.cs index 8c91b9a..e3a7c3f 100644 --- a/OpenSim.Servers/OpenGridProtocol.cs +++ b/OpenSim.Servers/OpenGridProtocol.cs | |||
@@ -14,15 +14,17 @@ namespace OpenSim.Servers | |||
14 | { | 14 | { |
15 | 15 | ||
16 | private Thread m_workerThread; | 16 | private Thread m_workerThread; |
17 | private TcpListener m_tcpListener; | 17 | private Socket m_listenerSocket; |
18 | private IPEndPoint m_IPendpoint; | ||
19 | |||
18 | private int m_port; | 20 | private int m_port; |
19 | private ArrayList m_clients; | 21 | private ArrayList m_clients; |
20 | 22 | ||
21 | private class ClientHandler { | 23 | private class ClientHandler { |
22 | private Thread m_clientThread; | 24 | private Thread m_clientThread; |
23 | private TcpClient m_socketHandle; | 25 | private Socket m_socketHandle; |
24 | 26 | ||
25 | public ClientHandler(TcpClient clientSocketHandle) { | 27 | public ClientHandler(Socket clientSocketHandle) { |
26 | m_socketHandle=clientSocketHandle; | 28 | m_socketHandle=clientSocketHandle; |
27 | m_clientThread = new Thread(new ThreadStart(DoWork)); | 29 | m_clientThread = new Thread(new ThreadStart(DoWork)); |
28 | m_clientThread.IsBackground = true; | 30 | m_clientThread.IsBackground = true; |
@@ -31,6 +33,12 @@ namespace OpenSim.Servers | |||
31 | 33 | ||
32 | private void DoWork() { | 34 | private void DoWork() { |
33 | OpenSim.Framework.Console.MainConsole.Instance.WriteLine("OpenGridProtocol.cs: ClientHandler.DoWork() - Got new client"); | 35 | OpenSim.Framework.Console.MainConsole.Instance.WriteLine("OpenGridProtocol.cs: ClientHandler.DoWork() - Got new client"); |
36 | |||
37 | } | ||
38 | |||
39 | private void WriteLine(string theline) { | ||
40 | byte[] thelinebuffer = System.Text.Encoding.ASCII.GetBytes(theline.ToCharArray()); | ||
41 | m_socketHandle.Send(thelinebuffer,theline.Length,0); | ||
34 | } | 42 | } |
35 | } | 43 | } |
36 | 44 | ||
@@ -55,13 +63,15 @@ namespace OpenSim.Servers | |||
55 | OpenSim.Framework.Console.MainConsole.Instance.WriteLine("OpenGridProtocol.cs: StartServerSocket() - Spawned main thread OK"); | 63 | OpenSim.Framework.Console.MainConsole.Instance.WriteLine("OpenGridProtocol.cs: StartServerSocket() - Spawned main thread OK"); |
56 | 64 | ||
57 | 65 | ||
58 | m_tcpListener = new TcpListener(m_port); | 66 | m_IPendpoint = new IPEndPoint(IPAddress.Any, m_port); |
59 | m_tcpListener.Start(); | 67 | m_listenerSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); |
68 | m_listenerSocket.Bind(m_IPendpoint); | ||
69 | m_listenerSocket.Listen(4); | ||
60 | 70 | ||
61 | TcpClient sockethandle; | 71 | Socket sockethandle; |
62 | while (true) | 72 | while (true) |
63 | { | 73 | { |
64 | sockethandle = m_tcpListener.AcceptTcpClient(); | 74 | sockethandle = m_listenerSocket.Accept(); |
65 | m_clients.Add(new OpenGridProtocolServer.ClientHandler(sockethandle)); | 75 | m_clients.Add(new OpenGridProtocolServer.ClientHandler(sockethandle)); |
66 | } | 76 | } |
67 | } | 77 | } |