2 lizhe619 lizhe619 于 2016.03.03 15:46 提问

Linux socket udp发送数据返回socket错误22

linux下用c网络编程用sendto发送数据,总返回socket error代号22是什么错误呢?

1个回答

devmiao
devmiao   Ds   Rxr 2016.03.07 06:26
已采纳
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
udp采用sendmsg发送消息失败
本人最近在学习socket程序的编写,使用sendmsg向外发送数据,但是接收端不能接收数据。代码是这样的: #include #include // ntohs inet_ntoa #include #include #define MAX_LEN 100 static char *server="127.0.0.1"; static int port=1234; int parse
setsockopt invalid argument,errno 22
正确的代码: struct timeval tv;  //在笔者在centos6.5测试,数据类型为int时报错setsockopt invalid argument,errno 22 tv.tv_sec=2; tv.tv_usec=0; iRet2=setsockopt(iClientSock, SOL_SOCKET, SO_SNDTIMEO, (char *)&iSendTimeout
linux非阻塞的socket发送数据出现EAGAIN错误的处理方法
一、非阻塞socket         非阻塞套接字是指执行此套接字的网络调用时,不管是否执行成功,都立即返回。比如调用recv()函数读取网络缓冲区中数据,不管是否读到数据都立即返回,而不会一直挂在此函数调用上。在实际Windows网络通信软件开发中,异步非阻塞套接字是用的最多的。平常所说的C/S(客户端/服务器)结构的软件就是异步非阻塞模式的。  int32_t flags = fcntl
C#-Udp监听和socket发送
定义一个类 class Class1 { public const int port = 11000; public void StarListener() { UdpClient udpclient = new UdpClient(port); IPEndPoint ipendp
udp socket connect一个不存在的地址后调用sendto返回111错误(connect refused)
udp socket connect一个不存在的地址后调用sendto返回111错误(connect refused) udp socket 可以调用connect,这个就不说,不了解的可以网上查资料,下面直接说返回111错误的原因 udp socket 发送流程 sendto->sock_sendmsg->__sock_sendmsg->udp_sendmsg->ip_mak
socket error 10035
昨天在做测试的时候服务器卡住了,检查发现是服务器调用send函数发消息时没有返回,造成消息处理这个线程卡在那里不动了。根据网上资料,我也大概判断出来,要么是发送端的缓存不够了,要么是接收端的缓存不够了。而我的套接字没有设置成非阻塞模式,所以就卡在发送这里没有返回。 解决方法是把套接字改为非阻塞模式ULONG NonBlock = 1;if (ioctlsocket(PerH
C语言sendto()函数:经socket传送数据
相关函数:send, sendmsg, recv, recvfrom, socket 头文件:#include   #include 定义函数:int sendto(int s, const void * msg, int len, unsigned int flags, const struct sockaddr * to, int tolen); 函数说明:sendt
多网卡指定网卡发送数据
环境:2个网卡,分别在不同网络环境。局域网一: 网关:10.9.16.254                     电脑地址1:10.9.16.88局域网二:网关:10.9.24.1                     电脑地址2:10.9.24.88
Linux C raw socket 发送ipv4下的简单udp数据包
问题描述: 在linux下使用C语言和raw socket来简单实现ipv4下的udp数据包的发送 参考资源: http://www.pdbuchan.com/rawsock/rawsock.html 解决方案: 下面的代码拷贝于"参考资源"中的udp4.c文件。 #include #include #include // close() #include
UDP的Socket发送数据,出现连续丢包现象(一)
UDP丢包原因 一、主要丢包原因 1、接收端处理时间过长导致丢包:调用recv方法接收端收到数据后,处理数据花了一些时间,处理完后再次调用recv方法,在这二次调用间隔里,发过来的包可能丢失。对于这种情况可以修改接收端,将包接收后存入一个缓冲区,然后迅速返回继续recv。 2、发送的包巨大丢包:虽然send方法会帮你做大包切割成小包发送的事情,但包太大也不行。例如超过50K的一个