一、需求分析
聊天室中如果有人说话,服务器将内容传送给聊天室的其他人。
那么就需要客户端和服务端两个程序,一个人发送一个消息,服务器向所有人发送一遍消息,所有人的客户端接收消息,也就是说客户端负责发送和接受消息,服务端负责接收和转发消息。
1.客户端Client:
可以主动连接服务端;
可以与服务器之间完成接收和发送消息;
2.服务端Server:
可以接受来自客户端的连接请求;
将客户端发来的信息发送给对应的客户(广播或者私聊);
二、实现逻辑
1、服务端Server
创建服务器套接字:socket
绑定本机IP和端口:bind
监听客户端:listen
等待客户端连接:accept
发送消息:send
接收消息:recv
1)创建套接字socket
sockfd = socket(PF_INET,SOCK_STREAM,0);
2)使用bind() 将套接字与本IP和某一端口绑定
//绑定端口号和IP
serverAddr.sin_family = PF_INET;
serverAddr.sin_port