谢谢rtdb的回复,
现在的问题是:当服务器启动后,客户端不能采用p0ll方法马上捕获服务器启动的消息。因此就会影响数据的及时发送!
现在的问题是:当服务器启动后,客户端不能采用p0ll方法马上捕获服务器启动的消息。因此就会影响数据的及时发送!
解决方案 »
- 如何在一个Form下刷新另一个Form的listview
- 如何在自己写类中添加点击事件
- window.load加载时自定义JS函数的SetForms 用意?
- 关于结构的讨论
- 非托管字符串转换为托管字符串的问题
- 帮我看一下这个返回bool值的语句怎么改才好
- 一个关于TreeView的问题
- c#中datagrid的doubleclick事件中怎样获得mouse在datagrid中选定的row?
- ################ 请教:这种存储过程怎么写?增加一条记录到库中??
- 在C# windows应用程序中如何实现提取有效文件名和文件路径
- 这样写哪里不行呢
- C#中怎样实现C++的Complex功能??
我首先在客户段采用主通道发数据,如果发现主通道上的服务器没有启动,我会马上采用备用通道发数据。
因此,我需要及时知道能否连接到服务器,及时进行通道的选择。
通过用上面的程序,一般情况下用POLL()可以及时获得socket连接服务器情况,但当客户断先启动,而服务器后启动,有时服务器段会报错“远程主机强迫关闭了一个现有连接”,
所以很不清楚,为什么会报错!怎么解决该问题?
状态2: 服务器操作系统启动,网络READY,但你们的通信服务程序还没启动
状态3: 通信程序启动,系统连接正常在状态2时,你就会收到“远程主机强迫关闭了一个现有连接”。
我想明白TCP/IP协议内部是怎么处理的,是不是与连接断开四次握手有关系,与Time_wait的时间有关等?以及如何避免?
我不可能每次都保证服务器先启动,客户端都后启动。
通过抓包发现是客户端给服务器发送了RST报文,导致服务器产生了‘远程主机强迫关闭了一个现有连接’的错误!
不知大侠有没有什么好的方法可以避免。