欢迎来到天天文库
浏览记录
ID:37860407
大小:190.50 KB
页数:50页
时间:2019-06-01
《linux上的一个简单的多人聊天室》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、linux上的一个简单的多人聊天室002i.hisausedforcreatingalibrary003forserverclient004Mar182010005006007#ifndef_I_H008009#define_I_H010011#includemath.h012#includestdio.h013#includesyssocket.h014#includearpainet.h015#includenetinetin.h016#includeunistd.h017#includesystypes.h018#includesysstat.h019#includefcntl
2、.h020#includestdlib.h021#includeerrno.h022#includestring.h023#includeinttypes.h024#includetime.h025#includesysioctl.h026#includenetif.h027#includesignal.h028#includencurses.h029#includemath.h030031#defineSEVR_IP127.0.0.1032#defineSEVR_PORT8081033#defineCNTNT_LEN150034#defineMSG_LENsizeof(struct
3、msg)035#defineADDR_LENsizeof(structsockaddr)036#defineUSR_LENsizeof(structuser)037#definePRT_LEN8038#defineHSTR_LENsizeof(structchat_history)039040declareGlobalvariables041intmainfd;usedaschathistroyfilehandle042intsockfd;usedassocketlocalhandle043intcount;044structsockaddr_inserver;045046msgis
4、usedforcommunicatingmessage047structmsg048{049intflag;flagmeaning1,ordinary;2,logmsg;3,regmsg,other,file050intid_from;051intid_to;052charcontent[CNTNT_LEN];053charappend[10];054};055056userisusedinformationlist057structuser058{059intid;060charname[10];061charpassword[10];062charp_chatlog;063str
5、uctsockaddruser_addr;064};065chat_historyusedforreadingchathistory066structchat_history067{068charcontent[CNTNT_LEN];069chartime[25];070intto;071intfrom;072intcount;073};074075i_functionsbelowisfuntionsneededbybothclientandsever076externinti_saveto_chat(structmsgpmsg);077078inti_clean_stdin()07
6、9{080while('n'==getchar())081{082continue;083}084085return(0);086}087088inti_print(charpmsg,intsize)089{090inti=1;091092for(i;i=size;i++)093{094if(pmsg!='n')095{096printf(%c,pmsg);097pmsg++;098}099else100{101return(0);102}103}104105return(0);106}107inti_input(charp_input)108{109charc='0';110int
7、i;111112for(i=0;iCNTNT_LEN;i++)113{114p_input[i]=getchar();115if(p_input[i]=='n')116{117return(0);118}119}120121printf(youhaveinputlongenough!n);122return(0);123}124inti_socket(intdomain,inttype,intprotocol)125{126intfd;127128if((
此文档下载收益归作者所有