社区
进程/线程/DLL
帖子详情
线程退出时绑定的socket端口号不释放
pupu_2009
2008-10-09 11:50:12
如题,我在一个单文档中设置了一个菜单,点击菜单启动一个线程。该线程用来socket接受数据(udp),the app代表的线程用来讲接受的数据显示出来。可有时遇到10048的错误,意思是程序运行一次后绑定的固定本机端口号6000被占用,第二次运行该程序时再绑定该端口就不行了。我的问题是退出程序时如何解除绑定。
...全文
658
9
打赏
收藏
线程退出时绑定的socket端口号不释放
如题,我在一个单文档中设置了一个菜单,点击菜单启动一个线程。该线程用来socket接受数据(udp),the app代表的线程用来讲接受的数据显示出来。可有时遇到10048的错误,意思是程序运行一次后绑定的固定本机端口号6000被占用,第二次运行该程序时再绑定该端口就不行了。我的问题是退出程序时如何解除绑定。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
用户 昵称
2009-02-16
打赏
举报
回复
closesocket不成功
还没淹死的鱼
2009-02-10
打赏
举报
回复
资源没释放干净吧?
沐NeMo
2009-02-09
打赏
举报
回复
呵呵,我也遇到过这样的问题。
1.shutdown(绑定socket)
2.将所有连接或和这个打开的端口有数据传输(还在线)的客户socket全部断开(shutdown,然后closesocket)
3.closesocket()
socket是用全局变量,2因为没有运行如何客服端,也就不用了。用了1和3后,可是还是没有释放端口啊。
不知道为什么。
xuexi1028
2008-10-11
打赏
举报
回复
clearn 这个好像
WinEggDrop
2008-10-10
打赏
举报
回复
[Quote=引用 4 楼 pupu_2009 的回复:]
我的是这样,线程中死循环接受,要关闭只能在主线程中关闭,可跨线程了,CSocket类有点问题。还有现在第一次运行就报10048错误。在cmd下netstat -na看 有0.0.0.0:6000
[/Quote]
如果你的主socket是全局变量来的话,那么就算不是同一个线程也能关闭的.
pupu_2009
2008-10-09
打赏
举报
回复
我的是这样,线程中死循环接受,要关闭只能在主线程中关闭,可跨线程了,CSocket类有点问题。还有现在第一次运行就报10048错误。在cmd下netstat -na看 有0.0.0.0:6000
pupu_2009
2008-10-09
打赏
举报
回复
我试试,解决了分就是你一个人的。没解决也给你10分
WinEggDrop
2008-10-09
打赏
举报
回复
你的情况应该是绑定的socket因为还有数据传输或连接在进行,所以就算执行了closesocket(),系统还是没将相关的套按字关闭并释放资源.我上面提到的方法应该是可以解决的.
WinEggDrop
2008-10-09
打赏
举报
回复
正确的处理方法是:
1.shutdown(绑定socket)
2.将所有连接或和这个打开的端口有数据传输(还在线)的客户socket全部断开(shutdown,然后closesocket)
3.closesocket()
C#多
线程
和
Socket
网络编程精讲
【教学理念】 1、把“需要工作的人”变成“工作需要的人” 2、创设“立足学生、突出项目、强化技术、提高能力”的教学局面。 【课程特色】 1、课程设计循序渐进、讲解细致、通俗易懂、非常...
多
线程
下
socket
的bind、accept函数分析以及对
socket
端口号
的深入理解
本文原创,欢迎转载,转载
时
请注明出处,谢谢:https://blog.csdn.net/zz420521/article/details/81914358 我们知道,在TCP协议下的网络通讯,服务器在accept之后会生成一个新的套接字与客户端进行通讯,这个新套接字的端口是提供给客户端的,所以是属于客户端的端口,等下有试验证明。 一般来说,服务器accept返回的这个新套接字的
端口号
是操作系统...
socket
(2)
服务器需要
绑定
端口号
,但是客户端不需要
绑定
,这是为什么? 客户端不需要
绑定
端口号
和ip,但是客户端也有自己的
端口号
和ip。 一台电脑有很多个客户端,如果你想要客户端强行
绑定
端口号
,那么就需要所有的公司进行协商,每个客户端使用不同的
端口号
。但这是不可能的。如果你强行让客户端
绑定
端口号
,那么就极有可能引起冲突,使得某些客户端启动失败。 但是服务器不一样,因为服务器一般只有一个,而且服务器一般是一个公司内部的东西,可以协商。而且服务器的
端口号
和ip地址必须是确定的,众所周知的,因为一台服务器连接着很多客户端,否
【从零学习python 】74. UDP网络程序:端口问题与
绑定
信息详解
本文详细介绍了UDP网络程序中常见的端口问题以及如何进行
绑定
信息。在UDP网络程序中,
端口号
可能会变化,每次重新运行程序都会导致
端口号
随机分配。然而,如果需要创建一个服务器端程序,就必须进行端口
绑定
,确保固定的
端口号
用于接收数据。文章提供了UDP
绑定
示例代码,并总结了UDP网络程序可以选择是否
绑定
以及
绑定
后的
端口号
特性。
Web服务器之命令行启动动态
绑定
端口号
获取执行python程序的终端命令行参数 判断参数的类型,设置
端口号
必须是整型 给Web服务器类的初始化方法添加一个
端口号
参数,用于
绑定
端口号
进程/线程/DLL
15,471
社区成员
49,181
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章