有没有办法处理与C#中的套接字会话?我的问题与会话的.NET TCP套接字
例子:
我有一个socket监听端口5672。
TcpListener socket = new TcpListener(localAddr, 5672);
socket.Start();
Console.Write("Waiting for a connection... ");
// Perform a blocking call to accept requests.
TcpClient client = socket.AcceptTcpClient();
Console.WriteLine("Connected to client!");
,我有两个客户端将发送一个字节的服务器。客户端A发送0x1,客户端B发送0x2。 从服务器端,我读这个数据是这样的:
Byte[] bytes = new Byte[256];
String data = null;
NetworkStream stream = client.GetStream();
while ((stream.Read(bytes, 0, bytes.Length)) != 0)
{
byte[] answer = new ...
stream.Write(answer , 0, answer.Length);
}
然后客户端A发送为0x11。 我需要一种方法来知道这个客户端是以前发送“0x1”的相同。
我不明白数据如何混合。在我读取第一个客户端发送的数据后,TcpClient对象被销毁。并读取以下数据我必须做socket.AcceptTcpClient();再次。你能发布一个演示代码来检测客户端A在sendig 0x1后发送0x11的时间吗?谢谢 – 2010-03-16 19:39:10
@ZeCarlos:你真的需要关闭'TcpClient'实例吗?为什么不重用它们?每个人都可以从一个客户端获得一个完整的数据流。 – 2010-03-16 19:43:29
你说得对。我可以重用TcpClient及其关联的流。对不起,我的无知。谢谢 – 2010-03-16 20:09:30