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;
    }
  • 相关阅读:
    STL应用 map poj 2418
    STL应用 set hdu 1412
    STL应用 deque hdu 6375
    STL应用 queue poj 1915
    STL应用 map HDU 3527
    算法训练营 入门篇 STL应用 vector HDU 3527
    算法训练营:海量图解+竞赛刷题(入门篇)刷题, 算法基础知识点讲解与练习
    BFS 遍历例子
    【知识】MySQL索引原理及慢查询优化
    【MySQL优化】——看懂explain
  • 原文地址:https://www.cnblogs.com/Jekhn/p/1982595.html
Copyright © 2011-2022 走看看