【发布时间】:2014-03-02 18:59:49
【问题描述】:
我正在使用 TcpClient 一个简单的 Socket 连接示例。
当客户端连接时:
clientSocket.Connect("192.168.1.3", 8888);
label1.Text = @"connecting...";
客户端必须向服务器发送一些数据(一个英文单词),然后服务器将处理该数据,并返回结果(该单词的定义)!之后必须停止连接! (当我说连接需要停止时,我不知道我需要关闭什么以及需要处理什么)
无论如何要停止我应该使用哪一个:
clientSocket.Client.Shutdown(SocketShutdown.Both);
clientSocket.Client.Dispose();
clientSocket.GetStream().Close();
clientSocket.Close();
我的第一个问题是,当我尝试使用同一个客户端(重用 clientSocket)再次连接到服务器时,它给了我这个异常,它标记了 clientSocket:
Message=Cannot access a disposed object.
Object name: 'System.Net.Sockets.TcpClient'.
Source=System
ObjectName=System.Net.Sockets.TcpClient
我的第二个问题是:通知客户端服务器要他停止连接,它发送一个字符串消息:“$”!所以每次客户端收到一条消息时,它都会检查它是否是“$”,如果是!它开始关闭...我确定有更好的方法可以做到这一点,您能帮帮我吗,谢谢。
【问题讨论】: