成人AV在线无码|婷婷五月激情色,|伊人加勒比二三四区|国产一区激情都市|亚洲AV无码电影|日av韩av无码|天堂在线亚洲Av|无码一区二区影院|成人无码毛片AV|超碰在线看中文字幕

udp編程 udp應(yīng)用服務(wù)器程序有哪些?

udp應(yīng)用服務(wù)器程序有哪些?#包含ltstdio.hgt#包含ltstring.hgt#包含ltunistd.hgt#包含ltsys/types.hgt#包含ltsys/socket.hgt#包含lt

udp編程 udp應(yīng)用服務(wù)器程序有哪些?

udp應(yīng)用服務(wù)器程序有哪些?

#包含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

服務(wù)器中的結(jié)構(gòu)sockaddr_in

客戶端中的結(jié)構(gòu)sockaddr_in

足球隊(duì)

整數(shù)

char buf[MAXDATASIZE]

if((sockfd=socket(AF_INET,SOCK_DGRAM,0))==-1)

{

perror(# 34創(chuàng)建套接字失敗。

#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)

{

錯(cuò)誤(#34Bind().

#34)

出口(1)

}

len=sizeof(客戶端)

while(1)

{

num=recvfrom(sockfd,buf,MAXDATASIZE,0,(struct sockaddr *)ampclient,amplen)

如果(數(shù)字lt 0)

{

perror(#34recvfrom()錯(cuò)誤。

#34)

出口(1)

}

buf[num]=#390#39

printf(# 34您從客戶端收到一條消息lt%sgt .

它的互聯(lián)網(wǎng)協(xié)議(Internet Protocol的縮寫)是%s,端口是%d

#34,buf,inet_ntoa(_addr),htons(_port))

發(fā)送到(足球,# 34歡迎光臨

#34,8,0,(struct sockaddr *)ampclient,len)

如果(!strcmp(buf,#34bye#34) ){

破裂

}

}

關(guān)閉(足球)

} #包含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]

結(jié)構(gòu)主機(jī)

結(jié)構(gòu)sockaddr_in服務(wù)器,對(duì)等

如果(argc!=3)

{

printf(# 34用法: % s ltIP地址gt ltmessagegt

#34,argv[0])

出口(1)

}

if((sockfd=socket(AF_INET,SOCK_DGRAM,0))==-1)

{

printf(# 34插座()錯(cuò)誤

#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連接()錯(cuò)誤。

#34)

出口(1)

}

send(sockfd,argv[2],strlen(argv[2]),0)

while(1)

{

if((num=recv(sockfd,buf,MAXDATASIZE,0))==-1)

{

printf(#34recv()錯(cuò)誤。

#34)

出口(1)

}

buf[num]=#390#39

printf(# 34服務(wù)器消息: %s

#34,buf)

破裂

}

關(guān)閉(足球)

}