我正在做一个学术项目,我遇到了一个问题。我的程序是一个用C语言编写的带套接字的ftp-utp模拟器。他在同一种情况下工作得很好,但我需要使用不同的情况。当我在不同的pc上使用时," ip“没有发送到recvfrom(或没有接收到),但在相同的pc上,ip被识别。抱歉,我的英语很差,而且我对套接字很陌生。有人能帮我吗?
发件人:
char *ip = (char*) malloc(strlen(message)*sizeof(char));
strcpy(ip,message);
SOCKET winsock;
SOCKADDR_IN sock;
winsock=socket(AF_INET,SOCK_DGRAM, 0);
sock.sin_family=AF_INET;
sock.sin_addr.s_addr=inet_addr(IP_CLIENTE);
sock.sin_port=htons(9010);
sendto(winsock,ip,strlen(ip),0,(SOCKADDR*)&sock,sizeof(sock));
接收者:
SOCKET winsock;
SOCKADDR_IN sock;
int size=sizeof(sock);
char message[BUFLEN];
winsock=socket(AF_INET,SOCK_DGRAM,IPPROTO_UDP);
sock.sin_family=AF_INET;
sock.sin_port=htons(9010);
sock.sin_addr.s_addr = inet_addr(IP_RAST);
bind(winsock,(SOCKADDR*)&sock,sizeof(sock));
memset(message,0,sizeof(BUFLEN));
recvfrom(winsock,message,BUFLEN,0,(SOCKADDR*)&sock,&size);
closesocket(winsock);
WSACleanup();
return message;
https://stackoverflow.com/questions/50768855
复制相似问题