c# socket tcp问题

[复制链接]
查看11 | 回复2 | 2012-2-27 14:01:01 | 显示全部楼层 |阅读模式
你用来监听连接的socket关闭了么。不管你使用同步的accept还是异步的beginaccept,所得到的socket是一个新的副本,而原先用来监听连接的socket还处在监听状态,如果你不把那个也关闭了,就会出现端口被原先监听的socket占用的情况。如果你用TcpListener就会比较直观了。TcpListener.Start后,停止的时候也要.是stop,否则就会出现这种错误同样,用socket的话,.listen后,在关闭服务器的时候,也必须把这个.close掉...
回复

使用道具 举报

千问 | 2012-2-27 14:01:01 | 显示全部楼层
加上这个
socket.Shutdown(SocketShutdown.Both);试试,不行的话跟踪一下看看是否运行了socket close...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行