用Socket API建立简易TCP服务端
- 建立一个socket
- 绑定接受客户端连接的端口bind
- 监听网络端口listen
- 等待接受客户端连接accept
- 向客户端发送一条数据send
- 关闭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客户端
- 建立一个socket
- 连接服务器connect
- 接收服务器信息recv
- 关闭socket closesocket