刺球网络安全社区

 找回密码
 立即注册

新浪微博登陆

只需一步, 快速开始

QQ登录

只需一步,快速开始

搜索
查看: 2160|回复: 1

[VC] 在vc中编写TCP服务器和客户端

[复制链接]

 成长值: 216368

新浪微博达人勋

  • TA的每日心情

    2019-8-22 09:24
  • 签到天数: 23 天

    [LV.4]偶尔看看III

    1134

    主题

    1717

    帖子

    37万

    积分

    管理员

    技术指数:★★★★★

    Rank: 9Rank: 9Rank: 9

    积分
    376212

    社区QQ达人最佳新人活跃会员热心会员推广达人宣传达人灌水之王突出贡献优秀版主荣誉管理论坛元老

    QQ
    发表于 2015-10-29 05:00:37 | 显示全部楼层 |阅读模式
    1. //TCP服务器的编写
    2. #include <stdio.h>
    3. #include <winsock.h>
    4. #pragma comment(lib,"ws2_32.lib") //加载静态库
    5. void main()
    6. {//加载套接字库
    7.                 DWORD dord;
    8.                 WSADATA wsadata;
    9.                 int err;
    10.                 dord=MAKEWORD(1,1);          //加载1,1版本的库
    11.                 err=WSAStartup(dord,&wsadata);
    12.                 if(err!=0)
    13.                 {
    14.                         return ;
    15.                 }
    16.                 if(LOBYTE(wsadata.wVersion)!=1 || HIBYTE(wsadata.wVersion )!=1)
    17.                 {
    18.                         WSACleanup();      //终止对套接字库的使用
    19.                         return;
    20.                 }
    21. //以下是套接字的操作
    22.         SOCKET sock=socket(AF_INET,SOCK_STREAM,0);// 创建套接字
    23.         SOCKADDR_IN addr;
    24.         addr.sin_addr .S_un .S_addr =htonl(INADDR_ANY);   //地址接受任何地址
    25.         addr.sin_family =AF_INET;   //地址族
    26.         addr.sin_port =htons(6000);  //端口号

    27.         bind(sock,(SOCKADDR*)&addr,sizeof(SOCKADDR));    //绑定端口号

    28.         listen(sock,5);    //监听

    29.         SOCKADDR_IN addrcon;
    30.         int len=sizeof(SOCKADDR);
    31.         while(1)  
    32.         {
    33.                         SOCKET sockcon=accept(sock,(SOCKADDR*)&addrcon,&len);   //返回一个相对于连接的套接字
    34.                         char sendbuf[100];   //用于发送数据
    35.                         char recvbuf[100];    //用于接收数据
    36.                         //sprintf(sendbuf,"%s 欢迎客户端:",inet_ntoa(addrcon.sin_addr ));  //格式化数据
    37.                         recv(sockcon,recvbuf,strlen(recvbuf),0);   //接受数据
    38.                        
    39.                         printf("%s\n",recvbuf);
    40.                         gets(sendbuf);
    41.                         send(sockcon,sendbuf,strlen(sendbuf)+1,0);   //发送数据      
    42.                         closesocket(sockcon);   //关闭连接
    43.         }      
    44.       
    45. //        WSACleanup();        //终止对套接字库的使用
    46. }


    47. //TCP客户端的编写
    48. #include<stdio.h>
    49. #include<winsock.h>
    50. #pragma comment(lib,"ws2_32.lib")//静态库的使用
    51. void main()
    52. {
    53.         //加载套接字库
    54.         DWORD word;
    55.         WSADATA wsadata;
    56.         int err;
    57.         word=MAKEWORD(1,1);
    58.         err=WSAStartup(word,&wsadata);
    59.         if(err!=0)
    60.         {return ;
    61.         }
    62.         if(LOBYTE(wsadata.wVersion )!=1 || HIBYTE(wsadata.wVersion )!=1)
    63.         {
    64.                 WSACleanup();   //终止对套接字库的使用
    65.                 return ;
    66.         }
    67.         //对套接字的操作
    68.         SOCKET sock=socket(AF_INET,SOCK_STREAM,0);
    69.         SOCKADDR_IN addr;
    70.         addr.sin_addr .S_un .S_addr =inet_addr("127.0.0.1");  //地址
    71.         addr.sin_family =AF_INET; //地址族
    72.         addr.sin_port =htons(6000); //端口号
    73.         while(1)
    74.         {
    75.                 connect(sock,(SOCKADDR*)&addr,sizeof(SOCKADDR));//请求连接
    76.                        
    77.                 char sendbuf[100];
    78.                 char recvbuf[100];
    79.                 gets(sendbuf);
    80.                 send(sock,sendbuf,strlen(sendbuf)+1,0);  //发送数据
    81.                 recv(sock,recvbuf,strlen(recvbuf),0);  //接受数据
    82.                 printf("%s\n",recvbuf);
    83.                
    84.                 closesocket(sock);
    85.                

    86.         }


    87. }
    复制代码



    刺球网络安全社区   收集分享



    楼主热帖
    回复

    使用道具 举报

    新浪微博达人勋

    该用户从未签到

    9

    主题

    56

    帖子

    695

    积分

    高级会员

    Rank: 4

    积分
    695
    发表于 2016-6-6 08:54:21 | 显示全部楼层
    。。。。。。。。。。。。。。

    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

    本版积分规则

    
     
     
    技术支持
    点击这里给我发消息
    在线客服
    点击这里给我发消息
    点击这里给我发消息
    刺球网安群①:
    刺球网安社区交流群①
    在线时间:
    8:30-21:00
     

    刺球网安 渝公网安备 50011402500080号 ( 渝ICP备15001097号-1 )申请友链|小黑屋| 刺球网络安全社区

    GMT, 2020-2-27 07:03 , Processed in 0.154214 second(s), 44 queries , Gzip On.

    Powered by 刺球网安

    © 2014-2025

    快速回复 返回顶部 返回列表