社区
Linux/Unix社区
帖子详情
监听端口异常退出后如何马上释放端口
Gao2003
2010-01-04 11:55:48
在程序监听端口后。如果程序异常退出。那么这个端口不会马上释放。要等几十秒才能释放。有没有方法能让程序异常退出后马上示范端口。记的WINDOWS是系统在程序异常退出后马上释放。LINUX怎么不会?要做些设置吗??
...全文
687
7
打赏
收藏
监听端口异常退出后如何马上释放端口
在程序监听端口后。如果程序异常退出。那么这个端口不会马上释放。要等几十秒才能释放。有没有方法能让程序异常退出后马上示范端口。记的WINDOWS是系统在程序异常退出后马上释放。LINUX怎么不会?要做些设置吗??
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
LeoforGame
2011-02-14
打赏
举报
回复
说得不错啊
Gao2003
2010-01-04
打赏
举报
回复
谢谢两位,查看有关资料:
SO_REUSEADDR可以用在以下四种情况下。
(摘自《Unix网络编程》卷一,即UNPv1)
1、当有一个有相同本地地址和端口的socket1处于TIME_WAIT状态时,而你启
动的程序的socket2要占用该地址和端口,你的程序就要用到该选项。
2、SO_REUSEADDR允许同一port上启动同一服务器的多个实例(多个进程)。但
每个实例绑定的IP地址是不能相同的。在有多块网卡或用IP Alias技术的机器可
以测试这种情况。
3、SO_REUSEADDR允许单个进程绑定相同的端口到多个socket上,但每个soc
ket绑定的ip地址不同。这和2很相似,区别请看UNPv1。
4、SO_REUSEADDR允许完全相同的地址和端口的重复绑定。但这只用于UDP的
多播,不用于TCP。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/liusujian02/archive/2007/12/18/1944520.aspx
而我用的TCP。所以就没有办法了吗?
deep_pro
2010-01-04
打赏
举报
回复
服务端:考虑到服务端重启或多宿,为socket设置SO_REUSEADDR基本成为一个定律
可以用这个函数,边面这种情况,服务程序关闭后,可以马上再起一次,不会冲突了
setsockopt(listenfd,SOL_SOCKET,SO_REUSEADDR,&opt,sizeof(&opt));
challenge99
2010-01-04
打赏
举报
回复
监听的端口,一般就只有某个程序会使用, 所以你只需要设置套接口选项允许端口重用就可以了。这样你就可以马上重启你的程序。
猫已经找不回了
2010-01-04
打赏
举报
回复
http://blog.csdn.net/hairetz/archive/2009/04/16/4083389.aspx
TIME_WAIT状态搞的鬼,可以用setsockopt来设置REUSE即可。参考我以前转的。
小菜_默
2010-01-04
打赏
举报
回复
[Quote=引用 4 楼 deep_pro 的回复:]
谁说只能udp用阿?tcp照样用
http://www.baidu.com/s?bs=linux+Address+already+in+use&f=8&wd=linux+Address+already+in+use
[/Quote]
就是阿,tcp一样用。
deep_pro
2010-01-04
打赏
举报
回复
谁说只能udp用阿?tcp照样用
http://www.baidu.com/s?bs=linux+Address+already+in+use&f=8&wd=linux+Address+already+in+use
CCNA_CCNP 思科网络认证 PAT NAT
端口
或地址转换 与端
Re:CCNA_CCNP 思科网络认证 PAT NAT
端口
或地址转换 与
端口
映射======================# 本章课程大纲 公网地址和私网地址 NAT应用场景 静态NAT :static 地址转换 动态NAT :dynamic地址转换 PAT :
端口
地址转换
端口
映射 :port map 在Windows上同时实现的NAT和
端口
映射 # 私网地址三类 A类:10.0.0.0 255.0.0.0(1网段) B类:172.16.0.0 -172.31.0.0 255.255.0.0(16网段) C类:192.168.0.0-192.168.255.0 255.255.255.0(255网段) # NAT 的使用场景 NAT的最初的目的是允许把私有IP地址映射到公网地址,以减缓IP地址空间的消耗。 当一个组织更换它的互联网服务提供商ISP,但不想更改内网配置方案时,NAT同样很有用途。 以下是适于使用NAT的多种情况: 企业内网接入Internet节省公网地址 单向访问 大方向:内网访问互联网(互联网上主机不能够访问内网主机) 小方向:同单位实现两个网段之间单向访问(涉密部门能够访问其他部门,反之不可) 增加一个网段 避免在主干路由器增加到这个网段的路由 在Windows上实现的NAT和
端口
映射 # 网络地址转换的类型 下面介绍一下NAT的三种类型。 静态NAT 是为了在私网地址和公网地址间,允许一对一映射而设计的。 或者IPv4和IPv6之间的转换(典型) 不节省公网地址,故公网地址的利用效率不高, 无任何安全性,外网可以通过公网地址直接攻击内网主机,好像只增加路由器的工作 适用场景类似代理,可以较方便的更换主机,而无需修改路由器的配置 故应用不够广泛... 动态NAT 可以实现映射一个未注册 IP地址到注册IP地址池中的一个注册IP地址。 多对一,或多对多 比较PAT优势:避免被误认为攻击而被封ip地址 不太节省地址,应用不广泛 复用是最流行的NAT配置类型,也被称为
端口
地址映射(PAT)。 通过使用PAT,可实现上千个用户仅通过一个真实的全球 IP地址连接到Internet。 缺点:增加延迟,消耗路由器性能 #
端口
映射(port mapping) 允许Internet上的计算机通过企业路由器的公网IP地址访问到内网的服务器------------------------------------------------
C# 解决Socket/TCPServer
监听
端口
释放
失败的问题
关闭数据流,关闭Client连接,设置背景线程。
linux关闭socket不立即
释放
端口
的问题
在linux终止一个程序之后不回立即
释放
端口
,因
端口
上有处于TIME_WAIT的连接。需要等到一定的时间才能自动
释放
,如果有重启服务的要求,服务是无法启动的。解决办法就是
端口
复用,配置socket
端口
为SO_REUSEADDR模式。用以下代码: int opt = 1; setsockopt(sockfd, SOL_SOCKET, SO_REUSEADDR, (const void *)&opt, sizeof(opt)); 在创建socket 之后执行这段代码即可。 ...
uwsgi
异常
退出
端口
号占用
sudo fuser -k 8001/tcp (8001需要填你的
端口
)
ubuntu tomcat
异常
关闭
端口
未
释放
解决办法
32 ps aux | grep tomcat//找到进程 36 kill -9 2922//关闭进程
Linux/Unix社区
23,120
社区成员
74,507
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章