做一个简单的回射服务器:客户从标准输入读入一行文本,写给服务器 -> 服务器从网络输入读入这行文本,并回射给客户 -> 客户从网络输入读入这行回射文本,并显示在标准输出上以下是我的代码(部分.h文件是由unpv13e文件夹中的.c文件改名得到)#include &q ...
做一个简单的回射服务器:
客户从标准输入读入一行文本,写给服务器 -> 服务器从网络输入读入这行文本,并回射给客户 -> 客户从网络输入读入这行回射文本,并显示在标准输出上
以下是我的代码(部分.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
(#换成@)。