Linux中国  设为主页
 收藏本站
 
当前位置: > 首页 ->Linux技术 ->BSD相关 ->Linux系统中BSD套接口开发的基础介绍
  相关分类: 
入门与提高
系统管理
网络应用
嵌入式系统
内核研究
服务器相关
发行版专区
Linux程序设计
Linux安全
BSD相关
桌面应用
  站内搜索: 
热门文章排行
热门文章排行 怎么样在Linux/FreeBSD下玩模拟器游(04-11)
一山可容二虎 让Linux与FreeBSD共存(04-11)
Solaris,Linux和FreeBSD的内核比较(04-11)
Solaris、Linux和FreeBSD的内核比较(04-11)
教你自动下载文件并制作OpenBSD ISO(04-11)
精采文章排行
精采文章排行 Linux系统中BSD套接口开发的基础介绍(04-11)
一山可容二虎 让Linux与FreeBSD共存(04-11)
教你定制自己的压缩的FreeBSD内核(04-11)
教你制作可以随身携带的FreeBSD系统(04-11)
教你制作软盘上运行的FreeBSD系统(04-11)
  ·教你定制自己的压缩的FreeBSD内核·教你制作可以随身携带的FreeBSD系统·教你制作软盘上运行的FreeBSD系统·Linux系统中BSD套接口开发的基础介绍·怎么样在Linux/FreeBSD下玩模拟器游戏·NetBSD的创建人之一为NetBSD未来担忧·教你自动下载文件并制作OpenBSD ISO·福布斯:Open BSD老板对Linux大肆攻击·FreeBSD 决心与桌面 Linux 一争高下

Linux系统中BSD套接口开发的基础介绍

作者:   来源:   点击:   日期:2007-04-11 [收藏] [投稿]

  IE是否经常中毒?推荐您

这是关于怎么样用各种可以得到的接口为Linux开发网络程序的系列文章的第一篇。就像大多数Unix-based的操作系统一样,Linux支持把TCP/IP作为本地的网络传输协议。在这个系列中,我们假定你已经比较熟悉Linux上的C编程和Linux的一些系统知识诸如signals,forking等等。

这篇文章是关于怎么样用BSD套接口创建网络程序的基础介绍 。在下一篇中,我们会解决涉及到建立(网络)deamon进程的问题。而且今后的文章我们还会涉及到使用远程过程调用(RPC),以及用CORBA/distributed objects进行开发。

一、TCP/IP的基础介绍

TCP/IP协议族允许两个运行在同一台电脑或者由网络连接在一起的两台电脑上的程序进行通讯。这个协议族是专门为了在不可靠的网络上进行通讯设计的。TCP/IP允许两个基本的操作模式——面向连接的可靠的传输(指TCP)和无连接的(connectionless)不可靠的传输(UDP)。

TCP提供带有对上层协议透明的中继功能的,顺序的,可靠的,双向的(bi-directional),以连接为基础的字节传输流。TCP把你的信息分割成数据报(不大于64kb)并保证所有的数据报无误的按照顺序都到达目的地。由于以连接为基础,所以一个虚拟连接必须在一个网络实体(network entity)和另一个之间进行通信前建立。UDP相反则提供一个(非常快的)无连接的不可靠消息传输(消息的大小是一个确定的最大长度)。

为了使程序间可以相互通信,不论他们是在同一个机器(通过loopback接口)还是不同主机,每一个程序都必须有独立的地址。

TCP/IP地址由两部分组成——用来辨别机器的IP地址和用来辨别在那台机器上的特定程序的端口地址。

地址可以是点分(dotted-quad)符号形式的(如,127.0.0.1)或者是主机名形式的(如,www.csdn.net)。系统可以使用/etc/hosts或DNS域名服务(如果可以获得的话)进行主机名到点分符号地址(也就是IP地址)的转换。

端口从1号开始编号。1和IPP0RT_RESERVED(在/usr/include/netinet/in.h中定义,通常为1024)之间的段口号保留给系统使用(也就是说,你必须以root的身份建立一个网络服务来绑定这部分的端口)。

最简单的网络程序大都用的客户-服务器模型。一个服务进程等待一个客户进程连接他。当连接建立时,服务器代表客户执行特定的任务,通常这这以后连接就中断了。

 如果您对本文有任何疑问或者建议,请到讨论区发表您的意见: >> 论坛入口 <<

上一页12 下一页

上一篇:怎么样在Linux/FreeBSD下玩模拟器游戏   下一篇:教你制作软盘上运行的FreeBSD系统
文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【我要投稿】 【论坛讨论

   相关文章:
·一山可容二虎 让Linux与FreeBSD共存

   文章评论:(1条)
  
 请留名: 匿名评论   点击查看所有评论 论坛讨论
 

 声明:刊登此文章是为了传递更多信息,文章内容仅供参考,转载请注明出处。