Linux环境下的Socket编程问题
在Linux环境下的Socket编程,调用系统的connect函数时,出现连接被拒绝,请问可能会是哪些原因造成的?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
在Linux环境下的Socket编程,调用系统的connect函数时,出现连接被拒绝,请问可能会是哪些原因造成的?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(5)
1)请确认你的服务端程序已经在客户端运行前已经启动。
2)用strerror(errno);查看错误原因。
3)2个代码的端口是否一致。
以上三点是这样的:
1)服务端程序已经在客户端运行前启动。
2)用strerror(errno);查看错误原因。
出现:“Connection refused”。
3)2个代码的端口(xxx)是一致的。
我已经在/etc/services增加了xxx端口,在/etc/xinetd.d目录下增加了对应的服务文件,也在ntsysv中勺选了这个服务,启动了这个服务。
#nmap -sT -O localhost
Starting nmap V. 3.00 ( www.insecure.org/nmap/ )
Interesting ports on search (127.0.0.1):
(The 1588 ports scanned but not shown below are in state: closed)
Port State Service
21/tcp open ftp
22/tcp open ssh
23/tcp open telnet
25/tcp open smtp
80/tcp open http
111/tcp open sunrpc
443/tcp open https
631/tcp open ipp
3306/tcp open mysql
6000/tcp open X11
8009/tcp open ajp13
8080/tcp open http-proxy
32775/tcp open sometimes-rpc13
Remote operating system guess: Linux Kernel 2.4.0 - 2.5.20
Uptime 0.037 days (since Thu Nov 24 16:18:19 2005)
Nmap run completed -- 1 IP address (1 host up) scanned in 5 seconds
没看到端口xxx。
#netstat -an | grep xxx
没出现显示。
# netstat -an | grep LISTEN
tcp 0 0 0.0.0.0:32768 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:32769 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:8005 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:32775 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:8009 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:9098 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:1099 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:6000 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:23 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN
unix 2 [ ACC ] STREAM LISTENING 2796 /tmp/.gdm_socket
unix 2 [ ACC ] STREAM LISTENING 2690 /tmp/.font-unix/fs7100
unix 2 [ ACC ] STREAM LISTENING 2806 /tmp/.X11-unix/X0
unix 2 [ ACC ] STREAM LISTENING 2600 /dev/gpmctl
unix 2 [ ACC ] STREAM LISTENING 2487 /var/lib/mysql/mysql.sock
也没监听到这个端口xxx。
# telnet localhost xxx
Trying 127.0.0.1...
telnet: Unable to connect to remote host: Connection refused
请问可能还会是哪些原因造成出现:“Connection refused”的?
我应该如何处理?
[ 本帖最后由 zhangxy6005 于 2005-11-24 17:29 编辑 ]
这个现象 很像服务器端 程序没启动.
服务器的该端口没有正常启动,检查端口开放
对应的服务文件中有其它控制字符,现已改正了。
错误已没有了。