C++Socket编程步骤 |
您所在的位置:网站首页 › socketlisten › C++Socket编程步骤 |
C++Socket 编程步骤 sockets (套接字)编程有三种,流式套接字( SOCK_STREAM ),数据报套接字( SOCK_DGRAM ),原始套接字( SOCK_RAW ); 基于 TCP 的 socket 编程是采⽤的流式套接字。 服务器端编程的步骤: 1 :加载套接字库,创建套接字 (WSAStartup()/socket()) ; 2 :绑定套接字到⼀个 IP 地址和⼀个端⼝上 (bind()) ; 3 :将套接字设置为监听模式等待连接请求 (listen()) ; 4 :请求到来后,接受连接请求,返回⼀个新的对应于此次连接的套接字 (accept()) ; 5 :⽤返回的套接字和客户端进⾏通信 (send()/recv()) ; 6 :返回,等待另⼀连接请求; 7 :关闭套接字,关闭加载的套接字库 (closesocket()/WSACleanup()) 。 客户端编程的步骤: 1 :加载套接字库,创建套接字 (WSAStartup()/socket()) ; 2 :向服务器发出连接请求 (connect()) ; 3 :和服务器端进⾏通信 (send()/recv()) ; 4 :关闭套接字,关闭加载的套接字库 (closesocket()/WSACleanup()) 。 第⼀式 : 加载 / 释放 Winsock 库 : 1. 加载⽅法 : WSADATA wsa; /* 初始化 socket 资源 */ if (WSAStartup(MAKEWORD(1,1),&wsa) != 0) { return; // 代表失败 } 2. 释放⽅法 : WSACleanup(); 第⼆式 : 构造 SOCKET: 1. 服务端 : 构造监听 SOCKET, 流式 SOCKET. SOCKET Listen_Sock = socket(AF_INET, SOCK_STREAM, 0) 2. 客户端 : 构造通讯 SOCKET, 流式 SOCKET. SOCKET Client_Sock = socket(AF_INET, SOCK_STREAM, 0) 第三式 : 配置监听地址和端⼝ : 1. 服务端 : SOCKADDR_IN serverAddr ZeroMemory((char *)&serverAddr,sizeof(serverAddr)); serverAddr.sin_family = AF_INET; serverAddr.sin_port = htons(1234); /* 本地监听端⼝ :1234*/ serverAddr.sin_addr.s_addr = htonl(INADDR_ANY); /* 有 IP*/ 第四式 : 绑定 SOCKET: 1. 服务端 : 绑定监听 SOCKET. bind(Listen_Sock,(struct sockaddr *)&serverAddr,sizeof(serverAddr)) 第五式 : 服务端 / 客户端连接 : 1. 服务端 : 等待客户端接⼊ . |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |