简明socket 编程

简明socket 编程

ID:34482211

大小:530.78 KB

页数:26页

时间:2019-03-06

简明socket 编程_第1页
简明socket 编程_第2页
简明socket 编程_第3页
简明socket 编程_第4页
简明socket 编程_第5页
资源描述:

《简明socket 编程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、中国科学技术大学多媒体技术与网络通信实验室(copyright1999)附录一简明Socket编程指南在本说明文档中,主要讲述了一些网络SOCKET编程的基本概念和有关函数说明,并给出了部分示例程序的源代码。在完成“TCP和IP通信程序设计实验”、“实时声音传输实验”和“HTTP代理实现实验”时,可以参考本文档的内容。一、SOCKET基本概念1Linux/Unix:Socket函数库LinuxSocket函数库是从Berkeley大学开发的BSDUNIX系统中移植过来的。BSDSocket接口是在众多Unix系统中被广泛支持的TCP/IP通信接口,Linux下的Socket程序

2、设计,除了微小的差别之外,也适用于大多数其它Unix系统。Socket的使用,和文件操作比较类似。如同文件的读、写、打开、关闭等操作一样,TCP/IP网络通信同样也有这些操作,不过它使用的接口不是文件描述符或者FILE*,而是一个称做Socket的描述符。类似于文件操作,对于Socket,也通过读、写、打开、关闭操作来进行网络数据传送。同时,还有一些辅助的函数,如域名/IP地址查询、Socket功能设置等。2.DOS:WATTCP函数库关于WATTCP函数库,也就是DOS下TCP/IP协议驱动程序库是由加拿大Waterloo大学的ErickEngelke提供的。NCSA的tel

3、net、ftp等程序,都是利用ErickEngelke的TCP/IP程序库WATTCP开发出来的。WATTCP是一个很容易使用的C语言函数库,相对Unix和其它环境下广泛使用的BSDSocket接口而言,它在DOS下提供了一个更为简单和直观的TCP/IP编程接口。WATTCP编程接口,相对于UnixSocket而言,作了相当的简化。Unix下,网络操作和文件系统几乎融为一体,但DOS下不存在如Unix一样强大的网络文件系统功能。因此,在DOS下没有Unix中那种直接用文件系统调用来操作Socket的便利。DOS下的TCP/IP通信和DOS系统几乎是完全独立的。WATTCP支持D

4、OSTCP/IP环境下的基本Socket接口,大致和UnixSocket兼容,包括面向连接的TCP(SOCK_STREAM)和非连接的UDP(SOCK_DGRAM)型Socket。另外WATTCP提供一些专用的SOCKET接口函数。3.WindowsSockets规范WindowsSockets规范以U.C.Berkeley大学BSDUNIX中流行的Socket接口为范例定义了一套MicosoftWindows下网络编程接口。它不仅包含了人们所熟悉的BerkeleySocket风格的库函数;也包含了一组针对Windows的扩展库函数,以使程序员能充分地利用Windows消息驱动

5、机制进行编程。这一套WindowsSocketsAPI能够在所有3.0以上版本的Windows和所有Windows如果您在阅读过程中发现疏漏和错误,请您尽快和编者取得联系network@ustc.edu.cncxh@ustc.edu.cn中国科学技术大学多媒体技术与网络通信实验室(copyright1999)Scokets实现上使用,所以它不仅为WindwosSockets实现和WindowsSockets应用程序提供了16位操作环境,而且也提供了32位操作环境。WindowsSockets也支持多线程的Windows进程。一个进程包含了一个或多个同时执行的线程。在Window

6、s3.1非多线程版本中,一个任务对应了一个仅具有单个线程的进程。而我们在本书中所提到的线程均是指在多线程Windows环境中的真正意义的线程。在非多线程环境中(例如Windows3.0)这个术语是指WindowsSockets进程。WindowsSockets规范中的针对Windows的扩展部分为应用程序开发者提供了开发具有Windows应用软件的功能。它有利于使程序员写出更加稳定并且更加高效的程序,也有助于在非占先Windows版本中使多个应用程序在多任务情况下更好地运作。除了WSAStartup()和WSACleanup()两个函数除外,其他的Windows扩展函数的使用不

7、是强制性的。4.套接口基本概念通讯的基石是套接口,一个套接口是通讯的一端。在这一端上你可以找到与其对应的一个名字。一个正在被使用的套接口都有它的类型和与其相关的进程。套接口存在于通讯域中。通讯域是为了处理一般的线程通过套接口通讯而引进的一种抽象概念。套接口通常和同一个域中的套接口交换数据(数据交换也可能穿越域的界限,但这时一定要执行某种解释程序)。WindowsSockets规范支持单一的通讯域,即Internet域。各种进程使用这个域互相之间用Internet协议族来进行通讯(Window

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。