#include#include#include#include#include#in">
用udp 實(shí)現(xiàn)局域網(wǎng)聊天程序源碼

用udp 實(shí)現(xiàn)局域網(wǎng)聊天程序源碼

ID:26589688

大?。?6.50 KB

頁數(shù):13頁

時(shí)間:2018-11-27

用udp 實(shí)現(xiàn)局域網(wǎng)聊天程序源碼_第1頁
用udp 實(shí)現(xiàn)局域網(wǎng)聊天程序源碼_第2頁
用udp 實(shí)現(xiàn)局域網(wǎng)聊天程序源碼_第3頁
用udp 實(shí)現(xiàn)局域網(wǎng)聊天程序源碼_第4頁
用udp 實(shí)現(xiàn)局域網(wǎng)聊天程序源碼_第5頁
資源描述:

《用udp 實(shí)現(xiàn)局域網(wǎng)聊天程序源碼》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。

1、#include#include#include#include#include#include#include#include#defineCLIENT_LOGIN100#defineCLIENT_CHAT200#defineCLIENT_QUIT300#defineSERVER_CHAT400#defineSERVER_QUIT500structnode{charname[20];

2、structsockaddr_inclient_addr;structnode*next;};structmessage{longtype;charname[20];charmtext[512];};structnode*create_list(void);voidinsert_list(structnode*,char*,structsockaddr_in*);voiddelete_list(structnode*,char*);voidrecv_message(int,structnode*);voidsend_message(int,structsock

3、addr_in*,pid_t);voidclient_login(int,structnode*,structmessage*,structsockaddr_in*);voidclient_chat(int,structnode*,structmessage*);voidclient_quit(int,structnode*,structmessage*);voidserver_chat(int,structnode*,structmessage*);voidserver_quit(int,structnode*,structmessage*);voidbro

4、cast_msg(int,structnode*,structmessage*);voidfather_func(intsig_no){return;}intmain(intargc,constchar*argv[]){intsocket_fd;pid_tpid;structsockaddr_inserver_addr;structnode*head;if(argc<3){fprintf(stderr,"usages:%sipport",argv[0]);exit(-1);}if((socket_fd=socket(AF_INET,SOCK_DGRAM,0

5、))<0){perror("failedtocreatesocket");exit(-1);}head=create_list();server_addr.sin_family=AF_INET;server_addr.sin_port=htons(atoi(argv[2]));server_addr.sin_addr.s_addr=inet_addr(argv[1]);if(bind(socket_fd,(structsockaddr*)&server_addr,sizeof(server_addr))<0){perror("failedtobind");ex

6、it(-1);}if((pid=fork())<0)//創(chuàng)建子經(jīng)常{perror("failedtoforkpid");exit(-1);}if(pid==0)recv_message(socket_fd,head);elsesend_message(socket_fd,&server_addr,pid);return0;}structnode*create_list(void){structnode*head;head=(structnode*)malloc(sizeof(structnode));head->next=NULL;returnhead;}vo

7、idinsert_list(structnode*head,char*name,structsockaddr_in*client_addr){structnode*new;new=(structnode*)malloc(sizeof(structnode));strcpy(new->name,name);new->client_addr=*client_addr;new->next=head->next;head->next=new;return;}voiddelete_list(structnode*head,char*name){structnode*p=

8、head->next;structno

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時(shí)可能會顯示錯(cuò)亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時(shí)聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請聯(lián)系客服處理。