首页 文章
  • 4 votes
     answers
     views

    套接字编程:sendto始终以errno 22(EINVAL)失败

    我总是没有发送任何字节,使用此代码的错误为22(EINVAL,无效参数) . destination_host 在别处设置并且已知有效,所以我真的看不到发生了什么 . MAXMSGSIZE 是1000.没有错误或警告 . 我正在编译 -Wall -Werror -pedantic char *data_rec; u_int data_len; int sockfd; uint16_t *...
  • 0 votes
     answers
     views

    在C中编码UDP套接字 - 发送到无效参数

    我实际上回到了用C编程,我想编写一个 UDP Client . 我的问题是我在执行 sendto 函数时遇到错误...得到 errno : 22 并且消息错误: Invalid argument char query[1024]; int querySize = strlen(query); SOCKADDR_IN dest = { 0 }; int destSize = sizeof des...
  • 0 votes
     answers
     views

    windows winsock2套接字从WSAGetLastError返回10014 WSAEFAULT(与ipv4 / ipv6相关)

    重现步骤: 创建IPv6套接字AF_INET6 / SOCK_DGRAM / UDP 将套接字绑定到IPv6地址 使用sendto(...)winsocket API,但指定要发送到的IPv4套接字AF_INET系列地址 Winsock2 API将使用WSAGetLastError返回WSAEFAULT .
  • 0 votes
     answers
     views

    sendto没有在VxWorks上工作

    我之前问过这个问题并且没有解决方案(仍有问题) . 我很难过,因为函数返回没有错误,没有发送数据!此代码适用于Linux ... VxWorks版本不起作用(sendto不发送,但它返回时没有ERROR) . 概要 - 我正在编写一个简单的echo服务器 - 服务器成功接收数据(来自x86盒子)并声称它成功发回它 . 但是客户端上没有收到数据(x86上的netcat) . 此代码在PowerPC盒...
  • 3 votes
     answers
     views

    当作用于UDP套接字时,什么可能导致sendto()发送比请求更少的字节?

    当作用于UDP套接字时,是什么导致 sendto() 发送的字节少于请求的字节数? 提出这个问题的动机是找出我需要采取的预防措施,以确保我在 sendto() 的单次调用中获得完整的消息,并了解我需要采取哪些步骤才能将消息发送到单个IP数据包中 . 我只需要确保我的信息低于某个大小,如果是这样,那么这个大小有多大?除了特定于操作系统的UDP数据报大小限制和MTU之外,还有其他的工作(例如,I / ...
  • 0 votes
     answers
     views

    通过Ubuntu Linux中没有IP分配的桥接接口发送UDP数据包

    我有两个网络接口(例如eth0和eth1)配置为Ubuntu Linux 14.04中桥的两端 . 它们未分配任何IP地址 . eth0物理连接到子网 . 我想通过eth0将UDP数据包发送到子网连接的机器 . 我创建一个UDP套接字并检查它是否可以成功绑定到eth0(即setsockopt(套接字,SOL_SOCKET,SO_BINDTODEVICE,eth0,strlen(eth0)),并执...
  • 0 votes
     answers
     views

    UDP sendto()给出“无效的用户空间地址”错误

    更新:我刚刚在有问题的函数中初始化了硬编码的结构,我仍然得到了错误! void sendjoin(unsigned int ipaddress, unsigned short port, unsigned short preferredID){ printf("Sending join-request...\n"); char msg[9]; memse...
  • 2 votes
     answers
     views

    struct sockaddr.sa_data似乎太小了

    我正在Mac OS X中进行一些插入(基本上是拦截C调用),我注意到ping应用程序尝试使用addrlen值16调用sendto函数 . 在sys / socket.h中我可以清楚地看到sa_data数组只有最多可容纳14个字节: /* * [XSI] Structure used by kernel to store most addresses. */ struct sockaddr { ...

热门问题