前文讲解了TCP/IP协议栈,今天就通过多人聊天室这个小项目进一步对网络编程有一个了解
项目主要实现的功能:
分别实现服务器和客户端
服务器功能:
(1)监听指定端口,接受多个客户端的连接
(2)每个客户端连接后,服务器会要求客户端提供昵称
(3)服务器将每个客户端发送的消息广播给所有客户端
(4)当客户端连接或断开时,通知所有客户端
客户端功能:
(1)发送消息给服务器,并接收来自其他客户端的消息
(2)同时处理用户输入和接收消息(多线程)
开发环境:vscode(windows)
最终效果如下:

大致流程如下

服务器端
1.在 Windows 系统中,网络编程依赖于 Winsock 库,因此先对库进行初始化
WSADATA wsaData;
if (WSAStartup(MAKEWORD(2, 2), &wsaData) != 0)
{
cout<< "WSAStartup 失败" << endl;
return -1;
}
2.创建socket,并设置端口等参数
socket参数中AF_INET表示基于IPv4网络通信
SOCK_STREAM:面向连接的流式传输
IPPROTO_TCP:使用TCP协议
// 创建 socket
SOCKET server_socket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
// 设置服务器地址
sockaddr_in ser

最低0.47元/天 解锁文章
809

被折叠的 条评论
为什么被折叠?



