基于socket简易聊天程序

基于socket简易聊天程序

ID:16887046

大小:303.00 KB

页数:10页

时间:2018-08-25

基于socket简易聊天程序_第1页
基于socket简易聊天程序_第2页
基于socket简易聊天程序_第3页
基于socket简易聊天程序_第4页
基于socket简易聊天程序_第5页
资源描述:

《基于socket简易聊天程序》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、简单的socket程序2010-01-1322:18虽然很简单,但还是调试了很长时间。本科时候接触过socket——那个帅帅的刘老师的课,现在重新再捡起来。程序中专门建立一个FunThread线程用来接收数据,实现双向通信,也可以连续发送、连续接收。代码贴上来,如果还能保留VAView那样的颜色区别就好看了,但是试了好几遍都不行server:#include#include#definePORT      6000//服务器端口#defineMSGSIZE   1024//收发缓冲区的大小#pragmacomment(lib,"ws2_32

2、.lib")//链接静态库DWORDWINAPIFunThread(LPVOID);//创建一个线程,专门用来接收数据SOCKET     sClient;//连接所用套节字SOCKET     sListen;//监听套接字SOCKADDR_INclient;//保存客户的地址信息int        iaddrSize=sizeof(SOCKADDR_IN);intmain(){WSADATA    wsaData;SOCKADDR_INlocal;char       s_Message[MSGSIZE];//收发缓冲区WSAStartup(0x0202,&wsaData);

3、//InitializeWindowssocketlibrarysListen=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);//创建服务器监听套节字。TCP协议local.sin_family=AF_INET;//AF_INET指明使用TCP/IP协议族local.sin_port=htons(PORT);//指明连接服务器的端口号local.sin_addr.s_addr=htonl(INADDR_ANY);//自动获取本机地址bind(sListen,(structsockaddr)&local,otherstaffoftheCentre.D

4、uringthewar,ZhuwastransferredbacktoJiangxi,andDirectorofthenewOfficeinJingdezhen,JiangxiCommitteeSecretary.Startingin1939servedasrecorderoftheWestNorthOrganization,SecretaryoftheSpecialCommitteeAfterthevictoryofthelongMarch,hehasbeentheNorthwestOfficeoftheFederationofStateenterprisesMinister,S

5、henmufuguSARmissions,DirectorofNingxiaCountypartyCommitteeSecretaryandrecorderoftheCountypartyCommitteeSecretary,Ministersandsizeof(SOCKADDR_IN));//地址绑定到套接字listen(sListen,1);//开始监听sClient=accept(sListen,(structsockaddr)&client,&iaddrSize);//建立连接printf("Accepteclient:%s:%d",inet_ntoa(client.s

6、in_addr),ntohs(client.sin_port));HANDLEhThread=CreateThread(NULL,0,FunThread,0,0,0);//创建接收线程CloseHandle(hThread);while(TRUE){  printf("ServerSend:");  //从键盘输入  gets(s_Message);                         //发送数据  send(sClient,s_Message,strlen(s_Message),0);}return0;}DWORDWINAPIFunThread(LPVOID){  

7、charc_Message[MSGSIZE];//收发缓冲区intret;//接收字节的个数while(TRUE){    ret=recv(sClient,c_Message,MSGSIZE,0);//接收数据  if(ret==SOCKET_ERROR)  {   printf("clientisclosed!");      sClient=accept(sListen,(structsockaddr)&client,&iaddrSize);//重新开始监听

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。