“远程主机强迫关闭了一个现有的连接”

tkscascor 2010-05-11 02:56:16

scoket,... 提示 远程主机关闭了现有连接, 就是tcp连接中断了.
下面是微软的解决方法. .net的解决办法.
uint IOC_IN = 0x80000000;
uint IOC_VENDOR = 0x18000000;
uint SIO_UDP_CONNRESET = IOC_IN | IOC_VENDOR | 12;

byte[] optionInValue = { Convert.ToByte(true) };
byte[] optionOutValue;

Socket.IOControl((int)SIO_UDP_CONNRESET, optionInValue, optionOutValue);
又有问题.... 说IOControl 指定的参数无效..
不管使用
byte[] optionInValue = { Convert.ToByte(false) };
byte[] optionOutValue = new byte[4];
还是
byte[] optionInValue = new byte[4]{1,0,0,0};
byte[] optionOutValue = new byte[4];
都一样报错, 指定参数...
求解
...全文
414 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
ztenv 2010-05-11
  • 打赏
  • 举报
回复
估计遇到的是一般程序编写上的问题,服务端和客户端的通讯方式要保持一致(都为长连接或同为短连接)
tkscascor 2010-05-11
  • 打赏
  • 举报
回复
1楼的. 你的话很强大...
#4... 这种情况不存在, 在页面关闭之前, 我会先检测scoket状态.
#3... 防火墙,已经关闭, 代理,应该不用吧. vs2003 开发的代码基本相同的从来没出现这个问题. 现在用08开发.
sock.IOControl(0x4004667F, IN, output); 如此. 使用, 没有出现问题了. 但是不明真相!
zzxap 2010-05-11
  • 打赏
  • 举报
回复
如果第一次连接用完后没有关闭,第二次再连接也会出现 “远程主机强迫关闭了一个现有的连接”
宝_爸 2010-05-11
  • 打赏
  • 举报
回复
我碰到"远程主机关闭了现有连接, 就是tcp连接中断"这个问题两次。
一次是防火墙。一次是公司的proxy需要登录。

lz查查环境。
myhope88 2010-05-11
  • 打赏
  • 举报
回复
不懂,帮顶下
eloveo 2010-05-11
  • 打赏
  • 举报
回复
没找到根本的出错地方吧,远程主机关闭了现有的连接,无非就是你的服务端或者客户端关闭了连接,然后另一个方法就出现这个异常。你检查一下你在什么地方关闭的。

111,098

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧