linux下的一个服务器客户端的小程序,基于TCP的实现;服务器可以同时接受多个客户的接入,通过子进程处理客户请求,下面的例子中,服务器只将客户的IP和端口以及发送的信息显示,然后原样的将客户发送的信息发送给客户。客户端仅仅是输入信息以及显示收到的信息。
TCP通信的模式如下图,比较固定,对着图编代码就可以了:
服务器的main函数:
int main(int argc, char **argv)
{
int listenfd, connfd;
pid_t childpid;
socklen_t clilen;
struct sockaddr_in cliaddr, servaddr; //IPv4 address
/*socket*/
listenfd = socket(AF_INET, SOCK_STREAM, 0);//创建一个TCP的socket
if (-1 == listenfd) {
perror("socket erro.");
return -1;
}
/*bind*/
//首先初始化server的IP地址和端口,然后再与刚刚创建的socket绑定
bzero(&servaddr, sizeof(servaddr));
servaddr.sin_family = AF_INET;//设置协议簇
s