资源描述:
《基于socket的网络编程技术及其实现new》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第3卷第3期江南大学学报(自然科学版)Vol.3No.32004年6月JournalofSouthernYangtzeUniversity(NaturalScienceEdition)Jun.2004文章编号:1671-7147(2004)03-0249-03基于Socket的网络编程技术及其实现刘骏, 颜钢锋(浙江大学电气工程学院,浙江杭州310027)摘 要:在介绍TCP协议客户端和服务器端进程通信流程和具体实现的基础上,以Delphi为环境编程语言,说明了在Windows下利用Socket进行网络编程的方法和特点.给出了一个用局域网进行文件传输和系统远程控制的实例.关键词:Sock
2、et;网络编程;远程控制;TCP协议中图分类号:TP311.52文献标识码:ANetworkProgrammingTechniqueandItsRealizationBasedonSocketLIUJun,YANGang2feng(CollegeofElectricalEngineering,ZhejiangUniversity,Hangzhou310027,China)Abstract:Thepaperintroducestheprocesscommunicationprocedureanditsspecificrealizationbetweentheclientandserverb
3、asedonTCPprotocol.Basedontheintroduction,thepaperproposethemethodsandfeaturesofnetworksocketprogrammingusingDelphi.Aninstanceoffiletransferanddistantsystemcontrolisalsopresented.Keywords:Socket;networkprogramming;remotecontrol;TCPprotocolSocket是建立在传输层协议(主要是TCP和局域网文件传输和计算机系统远程控制的实例.UDP)上的一种套接字规范,最
4、初由美国加州Berkley大学提出,为UNIX操作系统开发的网络1Socket基本原理通信接口,它定义了两台计算机间的通信规范(也是一种编程规范).如果两台计算机是利用一个“通在Windows网络编程中,套接字接口主要有3道”进行通信,那么这个“通道”的两端就是套接字.种类型:流式套接字,数据报套接字以及原始套接Socket屏蔽了底层通信软件和具体操作系统的差字、流式套接字定义了一种面向连接的服务,实现异,使得任何两台安装了TCP协议软件和实现了了无差错无重复的顺序数据传输,无长度限制.数Socket规范的计算机之间的通信成为可能.Socket据报套接字接口定义了一种无连接的服务,数据通
5、接口是TCP/IP网络最为通用的API,也是在过相互独立的报文进行传输,是无序的,并且不保[1]Internet上进行应用开发最通用的API.证可靠.原始套接字允许对低层协议IP或ICMP直文中介绍了Socket程序设计的基本原理,并结接访问,主要应用网络协议的测试,例如Windows[2]合实例介绍了Socket程序设计的基本方法,给出了带的Ping程序,就是通过ICMP实现的. 收稿日期:2003-11-26;修订日期:2004-03-04.作者简介:刘骏(1979-),男,江苏泰州人,控制理论与控制工程专业硕士研究生.颜钢锋(1959-),男,浙江永康人,教授,博士生导师.主要从
6、事纺织CAD/CAM、非线性等方面的研究.250江南大学学报(自然科学版)第3卷 在现在的网络应用中,通信双方最常见的交互的网络协议、系统的低层知识以及网络软硬件技术模式便是Client/Server模式.客户/服务器模式通有较深的了解与掌握.而在WindowsNT下,可以常采用监听/连接的方式实现.服务器端应用程序使用很多编程语言,如VC++,Java,Delphi等.其在一个端口监听对服务的请求,也就是说,服务进中,Delphi对原来的WindowsSockets库函数进行程一直处于休眠状态,直到有一个客户对这个服务了很好的包装,封装了各种功能,使编程更加简单.提出了连接请求,此时服
7、务线程被“唤醒”并为客户Delphi6中网络组件分为ClientSocket和[3]提供服务,即对客户的请求做出适当的反应.ServerSocket,分别用于客户端和服务器端.对于采用面向连接的协议(如TCP)时,服务器处理ClientSocket,它是请求方,即它是主动地建立联接;的请求比较复杂,并不是简单的请求应答所能够解而Serversocket用于响应方,其动作是侦听以及被决的,而且大多数TCP服务器是并发服务器,因此动接受