linux 媒体系统,基于Linux系统的流媒体视频点播系统的实现_...

第二章 Linux 下基于Socket的网络通信

第2章 Linux下基于Socket的网络通信

Linux具有丰富的网络功能,完善的内置网络是Linux的一大特点。嵌入式Linux 专用于微控制器,同样具有优秀的网络功能。Linux是一种可移植的操作系统,能够在从微型计算机到大型计算机的任何环境中和任何平台上运行。可移植性为运行Linux的不同计算机平台与其他任何机器进行准确而有效的通讯提供了手段,不需要另外增加特殊的,昂贵的通讯接口。

Linux系统的Socket API提供了基于TCP/IP协议的网络编程接口,使得应用程序可以采用类似于文件操作的方式通信。Socket在计算机中提供了一个通信端口,可以通过这个端口与任何一个具有Socket接口(套接口)的计算机通信。应用程序在网络上传输,接收的信息都通过这个Socket接口来实现。在应用开发中就像使用文件句柄一样,可以对Socket句柄进行读、写操作。今天,Socket接口是TCP/IP网络最为通用的API,也是在Internet上进行应用开发最为通用的API。Linux作为一种自由免费的操作系统相对于Windows操作系统具有超强的网络性能和出色的稳定性,被广泛的运用于网络通信服务中。而在Linux下开发高性能的网络通信程序,是充分发挥Linux网络特性的一个关键因素。

2.1 Socket原理简介

当用电话与他人通信时,必须拿起话筒,拨叫对方的电话号码,然后等待对方的应答;当双方进行通话的时候,就建立了一个具有两个端点的通信线路,这两个端点是:本地的电话号码(在本地位置);对方的电话号码(在对方的位置处)。双方的通信与通信的两个端点和他们之间的通信线路有关。Linux中的套接口与电话非常相似。套接口代表通信线路中的端点,两端点之间就是数据通信网络。套接口与电话的相似性还表现在另一方面。当给某人打电话时,拨叫的是对方用户的电话号码。而套接口中的网络地址就相当于电话号码。通过在程序中指定远程套接口的地址,就可以建立从本地套接口到远端套接口的通信。TCP/IP是计算机互连最常使用的网络通讯协议,TCP/IP的核心部分由网络操作系统的内核实现,应用程序通过编程接口来访问TCP/IP。套接字(Socket)是介于网络应用层和传输层之间的编程接口,套接字接口提供了访问下层通信协议的大量系统调用和相应的数据结构。在Linux中,套接字接口是应用程序访问下层的网络协议[5]的惟一方法。具体讲,套接字在用户级实现了两个应用程序之间的网络连接和数据交换,所以Linux中的套接字意味着网络上的连接。套接字在TCP/IP网络模型中的地位如图2-1所示。

5

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值