恒易科技

怨只怨人在风中,聚散都不由我。

C++ 基于TCP通讯的即时通信服务器DEMO
#include <stdio.h>
#include <winsock2.h>  
#pragma comment( lib, "ws2_32.lib" ) //静态链接库
int main()  
{  
 WORD wVersionRequested;  
 WSADATA wsaData;  
 int err;  
    
 wVersionRequested = MAKEWORD( 1, 1 );  
    
 err = WSAStartup( wVersionRequested, &wsaData );  
 if ( err != 0 ) {  
     printf("\n连接出错\n");
    return 0;  
 }  
    
 if ( LOBYTE( wsaData.wVersion ) != 1 ||  HIBYTE( wsaData.wVersion ) != 1 ) {  
   WSACleanup( );  
   printf("\n连接出错\n");
  return 0;  
 }  
 SOCKET sockSrv=socket(AF_INET,SOCK_STREAM,0);   
   
 SOCKADDR_IN addrSrv;  
 addrSrv.sin_addr.S_un.S_addr=htonl(INADDR_ANY);  
 addrSrv.sin_family=AF_INET;  
 addrSrv.sin_port=htons(8888);  
 bind(sockSrv,(SOCKADDR*)&addrSrv,sizeof(SOCKADDR));  
 listen(sockSrv,5);  
 SOCKADDR_IN addrClient;  
 int len=sizeof(SOCKADDR);  
 printf("\n连接成功 正在监听中...\n");
 while(1)  
 {  
       printf("\n连接成功 等待连接中...\n");
      SOCKET sockConn=accept(sockSrv,(SOCKADDR*)&addrClient,&len);  
      char sendBuf[50];  
      sprintf(sendBuf,"Welcome %s to here!",inet_ntoa(addrClient.sin_addr));  
      send(sockConn,sendBuf,strlen(sendBuf)+1,0);  
      char recvBuf[50];  
      recv(sockConn,recvBuf,50,0);  
      printf("%s\n",recvBuf);  
      closesocket(sockConn);  
      printf("\n关闭连接中...\n");
 }  
 printf("\n已关闭通信服务器...\n");
 getchar();
  return 0; 
} 

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/dong_18383219470/article/details/52492748
个人分类: C++
想对作者说点什么? 我来说一句

C++写的即时通讯软件

2009年12月27日 300KB 下载

基于SOCKET的C++ 即时通讯系统

2012年09月25日 7.87MB 下载

没有更多推荐了,返回首页

不良信息举报

C++ 基于TCP通讯的即时通信服务器DEMO

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭