你的位置:首页 > 软件开发 > 操作系统 > 【UNIX网络编程】TCP客户/服务器程序示例

【UNIX网络编程】TCP客户/服务器程序示例

发布时间:2016-05-12 15:00:09
做一个简单的回射服务器:客户从标准输入读入一行文本,写给服务器 -> 服务器从网络输入读入这行文本,并回射给客户 -> 客户从网络输入读入这行回射文本,并显示在标准输出上以下是我的代码(部分.h文件是由unpv13e文件夹中的.c文件改名得到)#include &q ...

【UNIX网络编程】TCP客户/服务器程序示例

做一个简单的回射服务器:

客户从标准输入读入一行文本,写给服务器 -> 服务器从网络输入读入这行文本,并回射给客户 -> 客户从网络输入读入这行回射文本,并显示在标准输出上

【UNIX网络编程】TCP客户/服务器程序示例

以下是我的代码(部分.h文件是由unpv13e文件夹中的.c文件改名得到)

#include  "../unpv13e/unp.h"#include  "../unpv13e/apueerror.h"#include  "../unpv13e/wrapsock.h"#include  "../unpv13e/wrapunix.h"#include  "../unpv13e/wraplib.h"#include  "../unpv13e/writen.h"#include  "../unpv13e/str_echo.h"intmain(int argc, char **argv){	int				listenfd, connfd;	pid_t				childpid;	socklen_t			clilen;	struct sockaddr_in	     cliaddr, servaddr;	listenfd = Socket(AF_.NET, SOCK_STREAM, 0);	bzero(&servaddr, sizeof(servaddr));	servaddr.sin_family   = AF_INET;	servaddr.sin_addr.s_addr = htonl(INADDR_ANY);	servaddr.sin_port    = htons(SERV_PORT);	Bind(listenfd, (SA *) &servaddr, sizeof(servaddr));	Listen(listenfd, LISTENQ);	for ( ; ; ) {		clilen = sizeof(cliaddr);		connfd = Accept(listenfd, (SA *) &cliaddr, &clilen);		if ( (childpid = Fork()) == 0) {	/* child process */			Close(listenfd);	/* close listening socket */			str_echo(connfd);	/* process the request */			exit(0);		}		Close(connfd);			/* parent closes connected socket */	}}

原标题:【UNIX网络编程】TCP客户/服务器程序示例

关键词:网络

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。