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;
    }
  • 相关阅读:
    iPhone 调用Web Service 例子(转)
    iPhone开发:在UIAlertView中显示进度条(转)
    Oracel 分页
    NYOJ 477
    NYOJ 108(数组中存的是前n个数的和)
    NYOJ 199
    NYOJ 311(完全背包)
    高效斐数(前92位)
    NYOJ 57(6174问题)
    NYOJ 546(分珠宝)
  • 原文地址:https://www.cnblogs.com/Jekhn/p/1982595.html
Copyright © 2011-2022 走看看