zoukankan      html  css  js  c++  java
  • 用Socket API建立简易tcp服务端和客户端

    用Socket API建立简易TCP服务端、客户端

    • 用Socket API建立简易TCP服务端

      1. 建立一个socket
      2. 绑定接受客户端连接的端口bind
      3. 监听网络端口listen
      4. 等待接受客户端连接accept
      5. 向客户端发送一条数据send
      6. 关闭socket closesocket
      SOCKET sock = socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);//SOCKET实际上返回一个UINT_PIR,但在windows下称之为套接字
          //int af/domain协议簇——AF_INET是ipv4、AF_INET6是ipv6
          //int type网络类型(蓝牙、数据报udp),这里应该用面向流的SOCK_STREAM
          //int protocol协议,这里用tcp协议的IPPROTO_TCP。当确定套接字的协议簇和类型时,这个参数值为0.但是当创建套接字时不知道要使用的协议簇和类型,这时候protocol参数起作用,确定协议的种类。
      //当socket创建套接字成功时,返回套接字。失败则返回“-1”。
      
      sockaddr_in _sin = {};//或者直接创建后用memset(&_sin,0,sizeof(sockaddr_in))
      _sin.sin_family = AF_INET;
      _sin.sin_port = htons(4567); //host to net unsigned short的缩写//atoi(s2)将char*转化为int类型
      _sin.sin_addr.s_un.S_addr = INADDR_ANY//inet_addr("127.0.0.1");
      if( bind(_sock, (sockaddr*)&_sin, sizeof(_sin)) != 0) return -1;//bind函数成功绑定端口返回0。
      
      //预留
      

      用Socket API建立简易TCP客户端

      1. 建立一个socket
      2. 连接服务器connect
      3. 接收服务器信息recv
      4. 关闭socket closesocket
  • 相关阅读:
    [USACO13NOV] Pogo-Cow
    《高性能Mysql》讲聚簇索引
    复合索引底层实现
    数据库索引实现(B+,B-,hash)
    B+树,B树,聚集索引,非聚集索引
    MySQL存储引擎
    synchronized实现原理
    【1】线程池的使用
    CompletionService
    原型模式
  • 原文地址:https://www.cnblogs.com/ranbom/p/12364613.html
Copyright © 2011-2022 走看看