udp编程 udp应用服务器程序有哪些?
udp应用服务器程序有哪些?
#包含ltstdio.hgt
#包含ltstring.hgt
#包含ltunistd.hgt
#包含ltsys/types.hgt
#包含ltsys/socket.hgt
#包含ltstdlib.hgt
#包含ltnetinet/in.hgt
#包含ltarpa/inet.hgt
#定义端口1234
#定义MAXDATASIZE 100
int main(void)
{
int sockfd
服务器中的结构sockaddr_in
客户端中的结构sockaddr_in
足球队
整数
char buf[MAXDATASIZE]
if((sockfd=socket(AF_INET,SOCK_DGRAM,0))==-1)
{
perror(# 34创建套接字失败。
#34)
出口(1)
}
bzero(ampserver,sizeof(server))
_family=AF_INET
_port=htons(端口)
_addr.s_addr=htonl(INADDR_ANY)
if(bind(sockfd,(struct sockaddr *)ampserver,sizeof(server))==-1)
{
错误(#34Bind().
#34)
出口(1)
}
len=sizeof(客户端)
while(1)
{
num=recvfrom(sockfd,buf,MAXDATASIZE,0,(struct sockaddr *)ampclient,amplen)
如果(数字lt 0)
{
perror(#34recvfrom()错误。
#34)
出口(1)
}
buf[num]=#390#39
printf(# 34您从客户端收到一条消息lt%sgt .
它的互联网协议(Internet Protocol的缩写)是%s,端口是%d
#34,buf,inet_ntoa(_addr),htons(_port))
发送到(足球,# 34欢迎光临
#34,8,0,(struct sockaddr *)ampclient,len)
如果(!strcmp(buf,#34bye#34) ){
破裂
}
}
关闭(足球)
} #包含ltstdio.hgt
#包含ltstdlib.hgt
#包含ltunistd.hgt
#包含ltstring.hgt
#包含ltsys/types.hgt
#包含ltsys/socket.hgt
#包含ltnetinet/in.hgt
#包含ltnetdb.hgt
#包含ltarpa/inet.hgt
#定义端口1234
#定义MAXDATASIZE 100
int main(int argc,char *argv[])
{
int sockfd,num
char buf[MAXDATASIZE]
结构主机
结构sockaddr_in服务器,对等
如果(argc!=3)
{
printf(# 34用法: % s ltIP地址gt ltmessagegt
#34,argv[0])
出口(1)
}
if((sockfd=socket(AF_INET,SOCK_DGRAM,0))==-1)
{
printf(# 34插座()错误
#34)
出口(1)
}
bzero(ampserver,sizeof(server))
_family=AF_INET
_port=htons(端口)
_addr.s_addr=inet_addr(argv[1])
_addr.s_addr=inet_addr(argv[1])
if(connect(sockfd,(struct sockaddr *)ampserver,sizeof(server))==-1)
{
printf(# 34连接()错误。
#34)
出口(1)
}
send(sockfd,argv[2],strlen(argv[2]),0)
while(1)
{
if((num=recv(sockfd,buf,MAXDATASIZE,0))==-1)
{
printf(#34recv()错误。
#34)
出口(1)
}
buf[num]=#390#39
printf(# 34服务器消息: %s
#34,buf)
破裂
}
关闭(足球)
}
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。