#客户端代码:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<sys/socket.h>
#include<netinet/in.h>
#include<arpa/inet.h>
#include<netdb.h>
#include<errno.h>
#include<sys/types.h>
int main()
{
int z,sockfd;
char str[30];
struct sockaddr_in adr_inet;
//创建socket
adr_inet.sin_family=AF_INET;
adr_inet.sin_port=htons(8888);
adr_inet.sin_addr.s_addr=htonl(INADDR_ANY);
bzero(&(adr_inet.sin_zero),8);
sockfd=socket(AF_INET,SOCK_DGRAM,0);
while(1){
fgets(str,30,stdin);//键入数据
z=sendto(sockfd,str,sizeof(str),0,(struct sockaddr *)&adr_inet,sizeof(adr_inet));//发送数据
}
close(sockfd);//关闭客户端
exit(0);
}
#服务端代码:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<sys/socket.h>
#include<netinet/in.h>
#include<arpa/inet.h>
#include<netdb.h>
#include<errno.h>
#include<sys/types.h>
int main()
{
int sockfd,z;
char buf[30];
struct sockaddr_in adr_inet;
//创建socket
adr_inet.sin_family=AF_INET;
adr_inet.sin_port=htons(8888);
adr_inet.sin_addr.s_addr=htonl(INADDR_ANY);
bzero(&(adr_inet.sin_zero),8);
sockfd=socket(AF_INET,SOCK_DGRAM,0);
//绑定bind
z=bind(sockfd,(struct sockaddr *)&adr_inet,sizeof(adr_inet));
while(1)
{
z=recvfrom(sockfd,buf,sizeof(buf),0,(struct sockaddr *)&adr_inet,sizeof(adr_inet));
buf[z]='\0';
printf("接收:%s",buf);
}
close(sockfd);
exit(0);
}