`
lianhuaren
  • 浏览: 1680 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

unp学习01

 
阅读更多
图5.12为tcp服务器的最终(正确)版本。它是并发服务器。关于并发服务器,可参考:
4.7 fork and exec Functions,
4.8 Concurrent Servers,
5.8 POSIX Signal Handling,
5.9 Handling SIGCHLD Signals,
5.10 wait and waitpid Functions

程序在accept后处理了EINTR错误,以及在str_echo函数中使用了3.9封装的Readline,Writen函数。

图4.1:


tcpcliserv/tcpserv04.c代码如下:

#include	"unp.h"

int
main(int argc, char **argv)
{
	int					listenfd, connfd;
	pid_t				childpid;
	socklen_t			clilen;
	struct sockaddr_in	cliaddr, servaddr;
	void				sig_chld(int);

	listenfd = Socket(AF_INET, 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);

	Signal(SIGCHLD, sig_chld);	/* must call waitpid() */

	for ( ; ; ) {
		clilen = sizeof(cliaddr);
		if ( (connfd = accept(listenfd, (SA *) &cliaddr, &clilen)) < 0) {
			if (errno == EINTR)
				continue;		/* back to for() */
			else
				err_sys("accept error");
		}

		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 */
	}
}
  • 大小: 31.3 KB
分享到:
评论

相关推荐

    UNP学习笔记讲义

    Linux网络编程修炼指南内功心法,即通过学习UNP(Unix Network Programming)来深入理解Linux下的网络编程技术。网络协议基础部分是学习Linux网络编程的前置知识,它主要包括ISO/OSI七层模型的理解、网络协议的概念...

    unp 64bit CentOS编译

    【标题】"unp 64位 CentOS编译"涉及的是在64位的CentOS操作系统上编译Unix网络编程卷1第三版所使用的`unp.h`头文件及其相关库。这个压缩包包含了必要的源代码和配置文件,使得用户能够在这样的环境中进行编程和开发...

    Python-unp一个用来方便解包归档文件的命令行工具

    通过阅读源码,开发者可以理解unp的工作原理,学习如何处理不同的文件格式,以及如何编写类似的功能。 总的来说,Python-unp是Python开发者处理归档文件的利器,它极大地提高了工作效率。通过掌握它的使用,你可以...

    unp unix网络编程

    源码分析是学习此书的重要部分,通过实际操作可以更好地掌握网络编程的精髓。 在Unix系统中,网络编程主要涉及到以下几个关键知识点: 1. **套接字(Sockets)编程**:Unix系统中的网络通信基于套接字接口,这是...

    unix网络编程 unp.h

    unp.h 兄弟自己一个字一个打进去的。 之前10分是在没有必要。 资源共享,共同享受编程的乐趣。 这部分代码比较新,可能SCTP有的系统不支持,需要修改一下源码。 如果你觉得还可以,那么给个评论吧。

    unp.rar_W. Richard Stevens_c/C++_unp

    【标题】"unp.rar_W. Richard Stevens_c/C++_unp" 指的是一个压缩包文件,其中包含了著名计算机科学家W. Richard Stevens的作品,主要聚焦于C/C++编程语言,特别是关于网络编程的内容。"unp"可能是《UNIX Network ...

    unp.h源码(CentOS上可无错编译)

    修改过一些带有编译错误问题的unp.h源码,可在CentOS的服务器上编译,不需要再修改。编译过程如下: tar -zxvf unpv13e.tar.gz rm -y unpv13e.tar.gz cd unpv13e cd lib make cd ../libfree make cd .. cp ...

    UNP 网络编程源代码

    W. Richard Stevens的原版代码,网络编程的经典巨著

    unp library

    unp library and code,unp library and code,unp library and code,unp library and code,unp library and code,c

    UNP源码 STEVEN

    本书是一部UNIX网络编程的经典之作。书中全面深入地介绍了如何使用套接字API进行网络编程。全书不但介绍了基本编程内容,还涵盖了与套接字编程相关的高级主题,对于客户/服务器程序的各种设计方法也作了完整的探讨,...

    UNP v1:套接字联网API(第3版)中文PDF版

    《UNIX网络编程 卷1:套接字联网API(中文版 第3版)》是一部UNIX网络编程的经典之作。全书不但介绍了基本编程内容,还涵盖了与套接字编程相关的高级主题,对于客户/服务器程序的各种设计方法也作了完整的探讨,最后还...

    unp源码_UNIX_

    通过研究"unp源码",开发者可以深入了解这些概念的实际实现,学习如何有效地利用UNIX提供的网络编程工具和库。此外,源码分析还可以帮助理解网络协议的内部工作原理,这对于优化性能、调试问题或开发自定义网络解决...

    UNP_v2_CN经典图书part3part4

    《UNP_v2_CN经典图书part3part4》是一份重要的IT学习资源,它涵盖了Unix网络编程(UNIX Network Programming, UNP)的第二版中文版的部分内容。UNP书籍是网络编程领域的权威之作,由W. Richard Stevens撰写,对理解...

    仿照UNP写的server代码,内有我自己的注释

    仿照UNP写的server代码,内有我自己的注释

    仿照UNP写的client代码,内有我自己的注释

    仿照UNP写的client代码,内有我自己的注释

    ARM学习的有关书籍及步骤

    相关书籍包括《UNIX Network Programming》(UNP)、《TCP/IP 详解》、《Linux 内核编程》等。 硬件基础 硬件基础是 ARM学习的基础知识领域之一。相关书籍包括《ARM 体系结构与编程》、《S3C2410 Datasheet》等。 ...

    unp.tar.gz

    the source code of the book "UNIX Network Programming" UNIX Network Programming, Volume 1 This book is for people who want to write programs that communicate with each other using an application ...

    UNIX网络编程第2卷(第2版-中文-高清-进程间通信-带目录)

    UNIX网络编程第2卷(第2版-中文-高清-进程间通信-带目录) Linux经典书之一,UNP第2卷,必看!

    Linux 快捷键使用.docx

    zuii@zuii-desktop:~/unp/tcpcliserv$ ./tcpserv01 *这里使用 CTRL+Z,此时 serv01 是停止状态* [1]+ Stopped ./tcpserv01 ``` 2. bg 命令 bg 命令用于使进程恢复运行在后台。例如: ``` zuii@zuii-desktop:~/unp/...

    铁路运输行业“铁·道”系列报告(二):复盘UNP长牛,再识中国铁路-1105-长江证券-34页.pdf

    铁路运输行业“铁·道”系列报告(二):复盘UNP长牛,再识中国铁路-1105-长江证券-34页.pdf

Global site tag (gtag.js) - Google Analytics