Linux网络编程之TCP
- 格式:pdf
- 大小:195.19 KB
- 文档页数:8


Linux的SOCKET编程详解1. 网络中进程之间如何通信进程通信的概念最初来源于单机系统。
由于每个进程都在自己的地址范围内运行,为保证两个相互通信的进程之间既互不干扰又协调一致工作,操作系统为进程通信提供了相应设施,如UNIX BSD有:管道(pipe)、命名管道(named pipe)软中断信号(signal)UNIX system V有:消息(message)、共享存储区(shared memory)和信号量(semaphore)等.他们都仅限于用在本机进程之间通信。
网间进程通信要解决的是不同主机进程间的相互通信问题(可把同机进程通信看作是其中的特例)。
为此,首先要解决的是网间进程标识问题。
同一主机上,不同进程可用进程号(process ID)唯一标识。
但在网络环境下,各主机独立分配的进程号不能唯一标识该进程。
例如,主机A赋于某进程号5,在B机中也可以存在5号进程,因此,“5号进程”这句话就没有意义了。
其次,操作系统支持的网络协议众多,不同协议的工作方式不同,地址格式也不同。
因此,网间进程通信还要解决多重协议的识别问题。
其实TCP/IP协议族已经帮我们解决了这个问题,网络层的―ip地址‖可以唯一标识网络中的主机,而传输层的―协议+端口‖可以唯一标识主机中的应用程序(进程)。
这样利用三元组(ip地址,协议,端口)就可以标识网络的进程了,网络中的进程通信就可以利用这个标志与其它进程进行交互。
使用TCP/IP协议的应用程序通常采用应用编程接口:UNIX BSD的套接字(socket)和UNIX System V的TLI(已经被淘汰),来实现网络进程之间的通信。
就目前而言,几乎所有的应用程序都是采用socket,而现在又是网络时代,网络中进程通信是无处不在,这就是我为什么说―一切皆s ocket‖。
TCP/IP(Transmission Control Protocol/Internet Protocol)即传输控制协议/网间协议,是一个工业标准的协议集,它是为广域网(WANs)设计的。
+ PING和TCP网络系统Ping命令是使用最频繁的一个网络测试命令,它能够测试一个主机到另外一个主机间的网络连接是否连通。
在微软的Windows系统内自带了一个Ping命令工具,可用于实现网络方面的多个连接。
TCP即文件传输协议,是一种面向链接的传输层协议。
在本章的内容中,将分别介绍使用C语言开发一个类似Windows系统中Ping工具和TCP工具的方法,并详细介绍其具体的实现流程,让读者体会C语言在网络编程领域中的应用。
______________________________________________ ______________________________________________3.1 求职路2006年7月2日,酷暑难耐从今天开始,我的学生生涯就告一段落了。
3.1.1 写求职信2006年7月4日,炎热的夏天,很多招聘版不知从何时起,招聘广告占据了主流报纸的很大版面。
我发现本地的时报、晚报和广播电视报,都专门推出了招聘版,并且占据了好几个版面。
原来工作机会多多啊,当初还以为毕业意味着失业,看来我的顾虑是多余的。
一大早我买了一份时报,耐心地浏览着招聘信息。
看完招聘信息后我失望了,报纸上自己感兴趣的信息很少,即使有也需要两年以上工作经验。
真是为难啊,刚刚毕业,何来的工作经验?招聘程序员的也不少,但是一看就是小公司,像我这种拥有鸿鹄之志的热血才子,应该去像微软、Sun等级别的公司才是正道。
2006年8月4日,上午,多云间阴不觉间一个月过去了,工作还是没有着落,毕业后待业在家的感受是很少人能体会到的。
我很颓废,难道大学四年的苦读换来的是这种结果?我很不甘心。
在家人和同学的鼓励下,继续开始了我的求职路。
2006年8月14日,下午,多云间阴,我的简历过去的十天,我投了无数份简历,私企、国企、外企,我都尝试了一遍。
在51Job和智联招聘等主流招聘网站上,我也投了很多简历。
简历是经过我仔细雕琢之后写出来的,具体如下。