预览加载中,请您耐心等待几秒...
1/5
2/5
3/5
4/5
5/5

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

万方数据 Linux环境下基于TCP的Socket编程浅析吴佩贤ProgrammingLinux是一个诞生于Internet和WWW的产品,他和网络密切相关。Linux网络系统具有稳定、简易、高效、兼容性好等特点,并且支持多种网络协议,如IP于网络应用层和传输层之间的编程接口,套接字接口提供了访问下层通信协议的大量系统调用和相应的数据结构。在Linux中,套接字接口是应用程序访问下层的网络协议的惟一方法。具体讲,套接字在用户级实现了两个应用程序之间的网络连接和数据交换,所以Linux中的套接字意味着网络上的连接。套接字在TCP/IP网络模型中的地位BSD套接字接口socket接口是为方便开发人员进行TCP/IP程序开Socket(简称BSD)。一个套接字描述为一个通信连接的一端,在一个通信连接中的两端通信程序应各自有一个套接字来描述他们自己那一端,不同主机中的两个进程通过各自的套接字发送和接收消息,从而实现进程间跨网络的通信。Linux的套接字支持多种网络协议,不同类型网络协各种网络协议而言,使用相同地址格式的几个协议称为一个协议地址簇,表1列出了BSD套接字的常见地址簇。Linux将套接字地址簇抽象为统一的BSD套接字接(绍兴文理学院计算机系浙江绍兴摘要:Socket适用于同一台计算机上的进程间通信,同时也适用于网络环境中的进程间通信。他已成为当前许多操作系统的网络API,也是网络操作系统中必不可少的基础功能。因特网为网络中的应用提供了2种类型的服务:由TCP协议提供的面向连接服务和由UDP协议提供的无连接服务。随着Linux操作系统的不断推广,Linux环境下的Socket开发和研究一直是人们关注的热点。文章介绍了Linux平台下的Socket及其在TCP协议下的编程原理,并通过一个用Java编写的基于TCP的客户/服务器程序,描述了网络中不同主机上的两个进程之间的Socket通信机制。关键词:Socket}TCP/IP;客户机/服务器;进程;Java中图分类号:TP316文献标识码:B文章编号:1004—373X(2005)16一053一03AnaIysisofSocketTCP—basedWUKeywords:Socket,TCP/IP,client/serverX.25,IPX,NETBIOS,DDP等。套接字(Socket)是介如图l所示。套接字发,而为TCP/IP协议所制定的一组应用程序接口。由于他最早应用于伯克莱大学的BSDUnix中,所以习惯上又称其为BSD议的工作方式不同,所使用的地址格式也完全不同。对于312000)LinuxAbstract:socketsuitablecommunicationcomputerfromS0cketavailablemanyOS,atsametime,itnetwork—OS.Internetconnection—orientedservice(TCP—based)andservice(UDP—based).Socketprogrammingclient/serverJava,itdescribesmechanismbetweencomputersprocess;Javav4,IP图1收稿日期l1BSD套接字地址簇的主要类型地址簇类型时应的通信协议TCP/IP协议IPX协议Unix内部套接字Ax.25协议套接字DDS(Macintosh机器用)53onPeixianScie眦eisfortwoprocessesonlybutalsonetwork.Nownetwork—APIthepartprovidesconnectionlessdevelopmentandstudyingalwaysconcernedwhileinnovatedon.TheintroducesitprinciplebasedTCPinenvironment.Byusingprogramwhichediteddi“erentnetwork.v6,物理层表lAF—INETAF—UNIXAF—AX25AF—APPLETALKNoveUAPPLETALK(ComputerDepartment.ShaoxingUniversity,Shaoxi“g·312000,China)notannecessarypaperI应用层网络层互联层2005—04一05AF—IPXonearesa7 万方数据 口,该接口是应用程序的开发接口,由各地址簇专有的软件支持。LinuxSocket支持以下常见套接字类型:(1)SOCK—STREAM(数据流套接口):提供一个面向连接的双工顺序数据流传输和可靠的数据传输服务。这种套接字可以保证数据传输的可靠性,不会出现数据丢失、破损或重复出现等差错,而且通过流量控制避免发送的数据流超