zoukankan      html  css  js  c++  java
  • 简单的socket通信TCP

    Tcp Server:

    View Code
    #include <stdio.h>
    #include
    <Winsock2.h>
    #pragma comment(lib,"ws2_32.lib")

    void main()
    {
    WORD wVersionRequested;
    WSADATA wsaData;
    int err;
    wVersionRequested
    = MAKEWORD(2,2);
    err
    = WSAStartup(wVersionRequested,&wsaData);
    if (err!=0)
    {
    return;
    }
    if ((LOBYTE(wsaData.wVersion)!=2)||(HIBYTE(wsaData.wVersion)!=2))
    {
    WSACleanup();
    return;
    }
    SOCKADDR_IN addrSrv;
    addrSrv.sin_addr.S_un.S_addr
    =htonl(INADDR_ANY);
    addrSrv.sin_family
    =AF_INET;
    addrSrv.sin_port
    =htons(6000);

    int len = sizeof(SOCKADDR);

    SOCKET socketSrv
    =socket(AF_INET,SOCK_STREAM,0);
    bind(socketSrv,(SOCKADDR
    *)&addrSrv,len);
    listen(socketSrv,
    5);
    SOCKADDR_IN addrConn;

    while(1) {
    SOCKET socketConn
    =accept(socketSrv,(SOCKADDR*)&addrConn,&len);
    char sendBuf[100];
    sprintf(sendBuf,
    "Welcome %s to TCP Server.",inet_ntoa(addrConn.sin_addr));
    send(socketConn,sendBuf,strlen(sendBuf)
    +1,0);
    char recvBuf[100];
    recv(socketConn,recvBuf,
    100,0);
    printf(
    "%s\n",recvBuf);
    closesocket(socketConn);
    }

    closesocket(socketSrv);
    WSACleanup();

    return;
    }

    Tcp Client:

    View Code
    #include <stdio.h>
    #include
    <Winsock2.h>
    #pragma comment(lib,"ws2_32.lib")

    void main()
    {
    WORD wVersionRequested;
    WSADATA wsaData;
    int err;
    wVersionRequested
    =MAKEWORD(2,2);
    err
    =WSAStartup(wVersionRequested,&wsaData);
    if (err!=0)
    {
    return;
    }
    if ((LOBYTE(wsaData.wVersion)!=2)||(HIBYTE(wsaData.wVersion)!=2))
    {
    WSACleanup();
    return;
    }
    SOCKADDR_IN addrClient;
    addrClient.sin_addr.S_un.S_addr
    =inet_addr("127.0.0.1");
    addrClient.sin_family
    =AF_INET;
    addrClient.sin_port
    =htons(6000);
    int len=sizeof(SOCKADDR);

    SOCKET socketClient
    =socket(AF_INET,SOCK_STREAM,0);

    connect(socketClient,(SOCKADDR
    *)&addrClient,len);

    char recvBuf[100];
    recv(socketClient,recvBuf,
    100,0);
    printf(
    "%s\n",recvBuf);

    char *sendBuf="This is Tcp Client.";
    send(socketClient,sendBuf,strlen(sendBuf)
    +1,0);

    closesocket(socketClient);

    WSACleanup();

    return;
    }
  • 相关阅读:
    Linux的chattr与lsattr命令详解
    Ant_的最完整build.xml解释
    ant安装和验证
    MySQL ALTER TABLE: ALTER vs CHANGE vs MODIFY COLUMN
    python简单爬虫技术
    selenium自动化测试打开新标签窗口
    js中的相等与不等运算
    table-layout:fixed 属性的解说
    DWZ与KindEditor编辑器的整合
    DWZ框架学习
  • 原文地址:https://www.cnblogs.com/Jekhn/p/1982595.html
Copyright © 2011-2022 走看看