TCP

来源:互联网 发布:淘宝客返利网址 编辑:程序博客网 时间:2024/05/29 16:43

server

服务器端

  1. 初始化
  2. socket创建一个SOCKET类型的变量,它规定了该套接字是UDP或TCP或其他类型
  3. bind 给刚刚创建的socket赋值 (具体这个端口)
  4. listen(socket,5);一般这样写就可以了
  5. accept();
  6. 收发数据;
const short SEVEREPORT = 51000;int main(){    WSADATA wsData;    WSAStartup(0x0202, &wsData);    SOCKET soc = socket(AF_INET, SOCK_STREAM, 0);    sockaddr_in sa = { AF_INET,htons(SEVEREPORT) };    int n = bind(soc, (sockaddr*)&sa, sizeof(sa));    if (n<0)    {        cout << "bind err:" << WSAGetLastError() << endl;        return 0;    }    listen(soc, 5);    int nLen = sizeof(sa);    SOCKET soca= accept(soc, (sockaddr*)&sa,&nLen);    if (soca == INVALID_SOCKET)    {        cout << "accept err:" << WSAGetLastError() << endl;        return 0;    }    char sBuffer[32] = { 0 };    while ((n=recv(soca, sBuffer, sizeof(sBuffer) - 1, 0))>0)    {        sBuffer[n] = 0;        cout << sBuffer<<endl;    }    return 0;}

client

客户端

  1. 初始化
  2. socket
  3. connect();将客户端的socket与服务器端进行链接
  4. 收发数据
const short SEVERPORT = 51000;int main(){    //初始化    WSAData wsaData;    WSAStartup(0x0202, &wsaData);    SOCKET soc = socket(AF_INET, SOCK_STREAM, 0);    if (soc == INVALID_SOCKET)    {        cout << "socket err:" << WSAGetLastError() << endl;        return 0;    }    //要连接到的服务器    sockaddr_in sato = { AF_INET,htons(51000) };    sato.sin_addr.S_un.S_addr = inet_addr("192.168.198.1");    int n = connect(soc, (sockaddr*)&sato, sizeof(sato));    if (n < 0)    {        cout << "connect err:" << endl;        return 0;    }    char buf[250] = {0};    while (true)    {        cout << "请输入要发送的数据:";        cin >> buf;        send(soc, buf, strlen(buf), 0);    }    return 0;}
0 0
原创粉丝点击