linux 下的 udp 错误Transport endpoint is not connected
[code=c][/code
[size=24px]大家帮帮忙
]#include"socket_includes.h"
int main(int argc,char *argv[])
{
int sockfd;
struct sockaddr_in server ,client;
char buf[100]="hello client",read_buf[100];
int bytes;
unsigned int len,length;
sockfd=socket(AF_INET,SOCK_STREAM,0);
if(sockfd<0) {
perror("creat socket error");
return -1;
}
// memset(&server,0,sizeof(struct sockaddr_in) );
//memset(read_buf,0,100);
bzero(&server, sizeof(server));
bzero(read_buf,100);
server.sin_family = AF_INET;
server.sin_port = htons(9995);
server.sin_addr.s_addr = htonl(INADDR_ANY);
length=sizeof(struct sockaddr);
if( bind(sockfd,(struct sockaddr*)&server,length) <0) {
perror("bind error:");
return -1;
}
while(1){
bytes=recvfrom (sockfd,read_buf,100,0,
(struct sockaddr*)&client,&len);
if(bytes<0){
perror("rece error:");
close(sockfd);
return -1;
}
printf ("len:%d\n",bytes);
printf("ip:0x%x ,port:0d%x\n",ntohl(client.sin_addr.s_addr),ntohs(client.sin_port) );
printf("%s\n",read_buf);
sendto(sockfd,buf,strlen(buf),0,
(struct sockaddr *)&client, len);
bzero(&client,len);
bzero(read_buf,100);
bzero(buf,100);
close(sockfd);
}
return 0;
}