客户端不停的给服务器端发送消息,服务器端依次打印客户端发来的消息,直到客户端发送的消息为“quit”,客户端先退出,服务器端再退出。代码运行时需先运行服务器端代码,再运行客户端代码。
Server.c
#include <stdio.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <unistd.h>
#include <arpa/inet.h>
#include <string.h>
/*
* TCP服务器
* 接收客户端发送的消息并打印
*/
int main(int argc, const char *argv[])
{
//create socket
int sockFd = socket(PF_INET,SOCK_STREAM,0);
if(sockFd < 0)
{
puts("create socket error!");
return -1;
}
printf("create socket OK!\n");
//bind
struct sockaddr_in servAddr = {0}; //地址结构
servAddr.sin_family = PF_INET; //设置为Internet协议族
servAddr.sin_port = htons(8888); //设置端口号,1~65535(1~1023已被知名服务使用)
servAddr.sin_addr.s_addr = inet_addr("192.168.1.137");//自己的IP地址
int ret = bind(sockFd,(struct sockaddr *)&servAddr,sizeof(servAddr));//绑定本地IP和端口号
if(ret <