gcc server.c -o server
gcc客戶端. c -o客戶端
打開2個控制臺:壹個正在運行。/server,而另壹臺正在運行。/客戶端。
server.c:
========================================
# include & ltstdio.h & gt
# include & ltstdlib.h & gt
# include & ltstring.h & gt
# include & ltsys/types . h & gt;
# include & ltsys/socket . h & gt;
# include & ltarpa/inet . h & gt;
# include & lt錯誤號& gt
#定義緩沖區大小1024
typedef struct sockaddr SA
int main(void)
{
char buf[buffer size];
addr_s中的結構sockaddr _ in
addr_c中的結構sockaddr _ in
int sockfd
socklen_t長度;
int I;
if((sockfd = socket(AF_INET,SOCK_DGRAM,0)) == -1)
{
perror(“套接字失敗”);
return-1;
}
memset(& amp;addr_s,0,sizeof(addr_s))。
addr _ s.sin _ family = AF _ INET
addr _ s . sin _ addr . s _ addr = inet _ addr(" 127 . 0 . 0 . 1 ");
addr _ s . sin _ port = htons(31180);
if(bind(sockfd,(SA *)& amp;addr_s,sizeof(addr_s)) == -1)
{
perror("綁定失敗");
return-1;
}
length = sizeof(addr _ c);
memset(buf,' \0 ',sizeof(buf));
if(recvfrom(sockfd,buf,sizeof(buf),0
,(SA *)& amp;addr _ c & amp;長度)== -1)
{
perror(" recvfrom fail ");
}
printf("recvfrom client:%s\n ",buf);
sendto(sockfd,buf,sizeof(buf),0,(SA *)& amp;addr_c,sizeof(addr _ c));
關閉(sockfd);
}
====================================
客戶端. c:
====================================
# include & ltstdio.h & gt
# include & ltstdlib.h & gt
# include & ltstring.h & gt
# include & ltsys/types . h & gt;
# include & ltsys/socket . h & gt;
# include & ltarpa/inet . h & gt;
# include & lt錯誤號& gt
#定義緩沖區大小1024
typedef struct sockaddr SA
int main(void)
{
int sockfd
char buf[buffer size];
addr_s中的結構sockaddr _ in
if((sockfd = socket(AF_INET,SOCK_DGRAM,0)) == -1)
{
perror(“套接字失敗”);
return-1;
}
memset(& amp;addr_s,0,sizeof(addr_s))。
addr _ s.sin _ family = AF _ INET
addr _ s . sin _ addr . s _ addr = inet _ addr(" 127 . 0 . 0 . 1 ");
addr _ s . sin _ port = htons(31180);
memset(buf,' \0 ',sizeof(buf));
sprintf(buf,“abcde”);
if(sendto(sockfd,buf,sizeof(buf)
,0,(SA *)& amp;addr_s,sizeof(addr _ s))& lt;0)
{
perror(" send to fail ");
}
memset(buf,' \0 ',sizeof(buf));
recvfrom(sockfd,buf,sizeof(buf),0,NULL,NULL);
printf("recvfrom server:%s\n ",buf);
關閉(sockfd);
}