例如:主机发送命令给客户端,但是客户端却因为网络不通或者没有启动程序而长时间没有响应.这时希望主机在规定时间内自动关闭socket连接.不要出现-----主机再次发送命令,出现"套接字端口只能调用一次"的提示-----------的问题
解决方案 »
- 求Linq写法 group by
- 如何让label不挡住panel,因为panel有鼠标动作
- 把一个winform中的datagridview中的数据全部添加到另一个winform中datagridview中
- 获取局域网的数据库服务器及操作
- 散100分:一个从C++到C#的翻译,错在哪里?
- winfrom 弹出窗口
- 谁有校园考试排位系统,给高分!!!!!
- Web开发(我是新手)
- 我幸福和痛苦的爱情:幸福的是四个好女孩都漂亮,也值是我去娶,痛苦的绝对会伤害另外三个人. 大家给点意见.
- 新手求问:未将对象引用设置到对象的实例的错误是什么意思?
- 报表问题 我打开报表打印太慢~!!
- datagridview 修改某一行 刷新 光标还在那一行上
socket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.SendTimeout, 3000);
socket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReceiveTimeout, 3000);
socket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReceiveTimeout, 3000);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~谢谢,这两句意思就是当发送端或者接收端超过三秒未见连接信号就自动断开socket吗?
类似代码如下uint dummy = 0;
byte[] btOptionValues = new byte[Marshal.SizeOf(dummy) * 3];
BitConverter.GetBytes((uint)1).CopyTo(btOptionValues, 0);
BitConverter.GetBytes((uint)5000).CopyTo(btOptionValues, Marshal.SizeOf(dummy));
BitConverter.GetBytes((uint)5000).CopyTo(btOptionValues, Marshal.SizeOf(dummy) * 2);clientSocket = stServer.Accept(); //在接收前赋值 clientSocket.IOControl(IOControlCode.KeepAliveValues, btOptionValues, null); //加入 clientService = new Thread(new ThreadStart(ServiceClient)); //创建新线程服务客户端
clientService.IsBackground = true;
clientService.Start();