public int WriteData(byte[] rDataToWrite) { dataToWrite = rDataToWrite; toWrite = DevComTcpServerDataToWrite.DataReady; return(0); }
private void handleClientCommunication(object rClient) { TcpClient client = (TcpClient)(rClient); NetworkStream stream = client.GetStream(); byte[] receiving = new byte[recBufferSize]; while (true) { int bytesRead = 0; try { // blocks until a client sends a message bytesRead = stream.Read(receiving, 0, recBufferSize); } catch { break; // Socket error } if (bytesRead == 0) { break; // client has disconnected } byte[] receivedBytes = new byte[bytesRead]; for (int i = 0; i < bytesRead; i++) { receivedBytes[i] = receiving[i]; } recBuffer.AddBytes(receivedBytes); // wait for Data to write... while (toWrite == DevComTcpServerDataToWrite.Pending) { } if (toWrite == DevComTcpServerDataToWrite.DataReady) { // Answer stream.Write(dataToWrite, 0, dataToWrite.Length); stream.Flush(); } toWrite = DevComTcpServerDataToWrite.Pending; // set to pending for next cycle... } client.Close(); }
private void handleClientCommunication(object rClient) { TcpClient client = (TcpClient)(rClient); NetworkStream stream = client.GetStream(); byte[] receiving = new byte[recBufferSize]; while(true) { int bytesRead = 0; try { // blocks until a client sends a message bytesRead = stream.Read(receiving,0, recBufferSize); } catch { break; // Socket error } if(bytesRead == 0) { break; // client has disconnected } byte[] receivedBytes = new byte[bytesRead]; for(int i=0; i<bytesRead; i++) { receivedBytes[i] = receiving[i]; } recBuffer.AddBytes(receivedBytes); // wait for Data to write... while(toWrite == DevComTcpServerDataToWrite.Pending) { } if(toWrite == DevComTcpServerDataToWrite.DataReady) { // Answer stream.Write(dataToWrite,0,dataToWrite.Length); stream.Flush(); } toWrite = DevComTcpServerDataToWrite.Pending; // set to pending for next cycle... } client.Close(); }
public void RemainListening() { toWrite = DevComTcpServerDataToWrite.NoResponseRequired; }