Ich arbeite an einem allgemeinen Server und einem Client-Programm. Das Problem, vor dem ich stehe, ist, wenn ich in der OnDataReceived in meinem Client und Server bin, weiß ich nicht, was mit den Daten zu tun. Idealerweise sollten die empfangenen Daten in einem Fenster ausgegeben werden, aber ich weiß nicht, ob es eine Formular- oder Konsolenanwendung sein wird. Die Frage ist also, wie erstelle ich eine allgemeine Methode, die beides verarbeiten kann, oder wenn das nicht möglich ist, was sollte ich stattdessen tun?
Der Code, mit dem ich arbeite:
SocketPacket theSockId = (SocketPacket)asyn.AsyncState;
int iRx = theSockId.m_currentSocket.EndReceive(asyn);
char[] chars = new char[iRx + 1];
Decoder decode = Encoding.Default.GetDecoder();
int charLength = decode.GetChars(theSockId.dataBuffer, 0, iRx, chars, 0);
String szData = new String(chars);
//Handle Message here
WaitForData();
Und die Socket-Packet-Klasse:
class SocketPacket
{
public Socket m_currentSocket;
public byte[] dataBuffer = new byte[1024];//Buffer to store the data by the client
public SocketPacket(Socket socket)
{
m_currentSocket = socket;
}
}
PS. Ich weiß nicht, ob man das wissen muss, aber ich mache asynchronen Client/Server.