网络端口问题?

dingxinbei 2008-07-09 06:49:17
我做了个DLL文件,封装了文件传输的过程。
使用控制台传输,一点问题都没有。

但是一使用MFC的应用程序,加上多线程。就会导致传输打开的端口一直保持在listen状态。
上述使用0.0.0.0为ip地址。
如果使用本机的IP(例如192.168.0.100)那么开始就会产生两个同样的端口,使用netstats查看为

192.168.0.100 8000 0.0.0.0:0 listening
192.168.0.100 8000 192.168.0.100:1234 TIME_WAIT
我是使用本机的链接测试。
一段时间后TIMEWAIT的自动释放了,但是LISTEN的一直开着,我也无法在使用此端口。

为什么在控制台中使用DLL传输就没有上述问题呢?

急求各位大侠?
...全文
138 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
ouyh12345 2008-07-10
  • 打赏
  • 举报
回复
mfc使用socket是没问题的
帖代码
veldwolf 2008-07-10
  • 打赏
  • 举报
回复
检查一下你的线程同步问题,这应该不是MFC和控制台的问题,把你的多线程先去掉,如果没问题,那就是你线程同步的问题了。
dirdirdir3 2008-07-10
  • 打赏
  • 举报
回复
查看一下是不是调用了两次以上的listen..........
sanshao27 2008-07-10
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 WinEggDrop 的回复:]
如果你是在DLL中打开的端口,你在DLL中关闭后,再将DLL释放掉.
[/Quote]
dingxinbei 2008-07-10
  • 打赏
  • 举报
回复
在主线程中使用也是一样的。
苦啊
scq2099yt 2008-07-10
  • 打赏
  • 举报
回复
如果你在MFC下如果代码没问题是不会出现这种情况的。
annvily 2008-07-10
  • 打赏
  • 举报
回复
应该是你线程中出现问题

看看是不是多次使用了listen
WinEggDrop 2008-07-09
  • 打赏
  • 举报
回复
如果你是在DLL中打开的端口,你在DLL中关闭后,再将DLL释放掉.

18,363

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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