zoukankan      html  css  js  c++  java
  • TCP通信客户端简单示例

    #include <stdio.h>
    #include <winsock.h>

    #pragma comment(lib,"ws2_32.lib")

    int main()
    {
    //第一步:初始化Socket函数库
    WSADATA wsaData;
    WSAStartup(0x202,&wsaData);

    //第二步:创建流式套接字
    SOCKET sock=socket(AF_INET,SOCK_STREAM,0);

    /*
    //第三步:绑定地址(显式绑定),可选的
    //如果不显式绑定地址或显式绑定失败,在调用connect函数时系统会自动随机选择一个空闲的端口号给我们绑定,系统的绑定称为隐式绑定
    sockaddr_in myaddr;
    myaddr.sin_family=AF_INET;
    myaddr.sin_addr.s_addr=INADDR_ANY;
    myaddr.sin_port=htons(9999);

    if(SOCKET_ERROR==bind(sock,(sockaddr*)&myaddr,sizeof(myaddr)))
    {
    printf("绑定地址失败! ");
    return 1;
    }
    */

    //第四步:连接服务器
    //指定服务器端的地址
    sockaddr_in addrSrv;
    addrSrv.sin_family=AF_INET;
    addrSrv.sin_addr.s_addr=inet_addr("127.1.3.5");
    addrSrv.sin_port=htons(8888);

    //连接服务器
    if(SOCKET_ERROR==connect(sock,(sockaddr*)&addrSrv,sizeof(addrSrv)))
    {
    printf("连接服务器失败! ");
    return 1;
    }

    //第五步:收发数据
    char szMsg[1024]="";

    recv(sock,szMsg,sizeof(szMsg)-1,0);
    printf("服务器端说:%s ",szMsg);

    strcpy(szMsg,"hello too!");
    send(sock,szMsg,strlen(szMsg),0);

    //第六步:关闭套接字,即断开连接
    closesocket(sock);

    return 0;
    }
    Do one thing at a time,and do well.
  • 相关阅读:
    redis+nginx+tomcat故障大全
    Nginx+Tomcat+Redis实现负载均衡、资源分离、session共享
    Redis初步认识
    私有IP地址共有三个范围段
    公有云和私有云的区别
    svn安装与其服务器搭建
    datagrid后台分页js
    easyui.dialog.js
    EasyUI 另一种form提交方式
    easyui- grid前台分页
  • 原文地址:https://www.cnblogs.com/huiz/p/9610688.html
Copyright © 2011-2022 走看看