// Public public void Connect(string hostname, int port) { if (mxState == NFTCPClientState.Connected) { return; } mxState = NFTCPClientState.Connecting; mxMessages.Clear(); mxEvents.Clear(); mxClient = new TcpClient(); mxClient.BeginConnect(hostname, port, new AsyncCallback(ConnectCallback), mxClient); }
// Public public void Connect(string hostname, int port) { if (mxState == NFTCPClientState.Connected) { return; } mxState = NFTCPClientState.Connecting; mxMessages.Clear(); mxEvents.Clear(); mxClient = new TcpClient(); mxClient.BeginConnect(hostname, port, new AsyncCallback(ConnectCallback), mxClient); }
private void ReadData() { bool endOfStream = false; while (!endOfStream) { int bytesRead = 0; byte[] bytes = new byte[bufferSize]; try { bytesRead = mxStream.Read(bytes, 0, bufferSize); } catch (Exception e) { e.ToString(); } if (bytesRead == 0) { endOfStream = true; } else { lock (mxEvents) { mxEvents.Enqueue(NFTCPEventType.DataReceived); } lock (mxPackets) { mxPackets.Enqueue(new NFSocketPacket(bytes, bytesRead)); } } } mxState = NFTCPClientState.Disconnected; mxClient.Close(); lock (mxEvents) { mxEvents.Enqueue(NFTCPEventType.Disconnected); } }
public void SetTcpClient(TcpClient tcpClient) { mxClient = tcpClient; if (mxClient.Connected) { mxStream = mxClient.GetStream(); mxReader = new StreamReader(mxStream); mxWriter = new StreamWriter(mxStream); mxState = NFTCPClientState.Connected; mxEvents.Enqueue(NFTCPEventType.Connected); mxReadThread = new Thread(ReadData); mxReadThread.IsBackground = true; mxReadThread.Start(); } else { mxState = NFTCPClientState.Disconnected; } }
public void Disconnect() { mxState = NFTCPClientState.Disconnected; try { if (mxReader != null) { mxReader.Close(); } } catch (Exception e) { e.ToString(); } try { if (mxWriter != null) { mxWriter.Close(); } } catch (Exception e) { e.ToString(); } try { if (mxClient != null) { mxClient.Close(); } } catch (Exception e) { e.ToString(); } }
public void Disconnect() { mxState = NFTCPClientState.Disconnected; try { if (mxReader != null) mxReader.Close(); } catch (Exception e) { e.ToString(); } try { if (mxWriter != null) mxWriter.Close(); } catch (Exception e) { e.ToString(); } try { if (mxClient != null) mxClient.Close(); } catch (Exception e) { e.ToString(); } }
private void ReadData() { bool endOfStream = false; while (!endOfStream) { int bytesRead = 0; byte[] bytes = new byte[bufferSize]; try { bytesRead = mxStream.Read(bytes, 0, bufferSize); } catch (Exception e) { e.ToString(); } if (bytesRead == 0) { endOfStream = true; } else { lock (mxEvents) { mxEvents.Enqueue(NFTCPEventType.DataReceived); } lock (mxPackets) { mxPackets.Enqueue(new NFSocketPacket(bytes, bytesRead)); } } } mxState = NFTCPClientState.Disconnected; mxClient.Close(); lock (mxEvents) { mxEvents.Enqueue(NFTCPEventType.Disconnected); } }
void Init() { binListener = new NFBinaryClientListener(this); mxState = NFTCPClientState.Disconnected; mxEvents = new Queue<NFTCPEventType>(); mxMessages = new Queue<string>(); mxPackets = new Queue<NFSocketPacket>(); }
public void SetTcpClient(TcpClient tcpClient) { mxClient = tcpClient; if (mxClient.Connected) { mxStream = mxClient.GetStream(); mxReader = new StreamReader(mxStream); mxWriter = new StreamWriter(mxStream); mxState = NFTCPClientState.Connected; mxEvents.Enqueue(NFTCPEventType.Connected); mxReadThread = new Thread(ReadData); mxReadThread.IsBackground = true; mxReadThread.Start(); } else { mxState = NFTCPClientState.Disconnected; } }