首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

初学者,程序kill掉后,再启动,出现bind: Address already in use

2012-02-28 
菜鸟求助,程序kill掉后,再启动,出现bind: Address already in use程序kill掉之后再启动会出现 bind: Addre

菜鸟求助,程序kill掉后,再启动,出现bind: Address already in use
程序kill掉之后再启动会出现 bind: Address already in use 的错误

程序bind的端口是8021

netstat -p 显示:
tcp 1364 0 127.0.0.1:8021 127.0.0.1:42119 ESTABLISHED -
tcp 464 0 127.0.0.1:8021 127.0.0.1:48935 ESTABLISHED 1324/qt
tcp 0 0 127.0.0.1:8021 127.0.0.1:48934 CLOSE_WAIT 1324/qt
tcp 30 0 127.0.0.1:8021 127.0.0.1:42118 CLOSE_WAIT -
tcp 0 0 127.0.0.1:42119 127.0.0.1:8021 ESTABLISHED 1324/qt
tcp 0 0 127.0.0.1:48935 127.0.0.1:8021 ESTABLISHED 889/terminal_wdc
tcp 30 0 127.0.0.1:8021 127.0.0.1:42117 CLOSE_WAIT -
tcp 0 0 127.0.0.1:8021 127.0.0.1:48933 CLOSE_WAIT 1324/qt
(其中qt terminal_wdc是作为 tcp客户端连接8021的)

C/C++ code
m_addr.sin_addr.s_addr=htonl(INADDR_ANY);int on = 1;int ret = setsockopt( m_nFd, SOL_SOCKET, SO_REUSEADDR, &on, sizeof(on) );if(bind(m_nFd,(struct sockaddr *)&m_addr,sizeof(m_addr))<0){...}...





[解决办法]
你是不是其他有关联的进程

[解决办法]
从你贴的输出信息来看,因为还有进程在用8021端口,还有ESTABLISHED状态的,没有全部kill掉,如果这个端口看到的都是xxx...WAIT这样的稍等一会应该就可以了。

热点排行