之前一直在Linux系统开发C语言的socket,由于项目的需要 需要在windows下开发,第一次在windows下开
发,顺便记录下来。
首先socket的通信流程:
Server程序:
1 .创建socket:socket();
2. 绑定socket的IP+端口号:bind();
3.监听端口号:listen();
4.接收客户端的连接请求:accept();
5.读写客户端:recv(),send();
6.关闭socket;close();
Client程序:
1.创建socket:socket();
2.连接指定计算的端口:connect();
3.发送或者手服务器的数据:send(),recv();
4.关闭socket:close();
socket是基于TCP/IP通信协议的,下图为三次握手:
服务器端代码:
#include <stdlib.h>
#include <stdio.h>
#include <winsock2.h>
#include <windows.h>
#pragma comment(lib,"ws2_32.lib")
int main(int argc, char* argv[])
{
//初始化WSA
WORD sockVersion = MAKEWORD(2, 2);
WSADATA wsaData;
if (WSAStartup(sockVersion, &wsaData) != 0)
{
ret