1. Linux 网络编程时connect()返回-1,为什么会造成这种情况求大神指教。
connect()返回-1的情况很多,要打印errno和详细的错误信息来看。
在返回-1错误的地方增加下面这行代码,然后看看控制台的输出信息:
perror("Err");
然后根据错误信息到网上去搜索相应的解决方案。
2. connect error是什么
connect error连接错误的意思。
在刚刚开始接触socket 编程,在其运行的过程中,会遇到的常见的connect error 的问题,将其记录下来
101:网络不可达,比如不能ping通
解决办法:想尽办法ping 通网络 ,这是最基本的知识
111:链接被拒绝,比如目标关闭链接等
22:参数错误,比如ip地址不合法,没有目标端口等
解决办法: 检查ip地址 ,以及socket程序的端口是否被占用
113:server端的防火墙设置了过滤规则
解决办法:使用iptables关闭server端的防火墙
1.暂时关闭
$sudo service iptables stop
2.打开
$sudo service iptables start
3.永久打开和关闭
$sudo chkconfig iptables on
$sudo chkconfig iptables off
3. LINUX网络编程 connect被拒绝
一般经过创建套接字socket()绑定bind()以及listen()之后, 就可以调用 accept(int sockfd, struct sockaddr *addr, socklen_t *addrlen);判断是否有客户端回发起链接答请求, 不用accept()改用select()可以吗,select(int maxfdp,fd_set *readfds,fd_set *writefds,fd_set *errorfds,struct timeval *timeout) 中哪个参数跟客户端有关?
4. C语言Linux系统下TCP编程,connect 错误
你的client有问题,连接之前没有指定server的ip。
你只指定了端内口。
struct sockaddr_in servaddr;
bzero(&servaddr,sizeof(servaddr));
servaddr.sin_family=AF_INET;
servaddr.sin_port=htons(HELLO_WORLD_SERVER_PORT);
servaddr.sin_addr.s_addr=inet_addr(serverip);//加上server的ip即可容