计算机网络实验 socket编程,计算机网络实验 socket编程

实验三 socket套接字编程实验

一、Sockets编程基础知识

网络编程就是通过计算机网络与其他程序进行通信的程序,Socket编程是网络编程的主流工具。

Socket API是实现进程间通信的一种编程设施,也是一种为进程间提供底层抽象的机制。尽管应用开发人员很少需要在该层编写代码,但是理解socket API还是非常重要的。主要有两点原因:第一,高层设施是构建于socket API之上的,它们是利用socket API 提供的操作来实现。第二,对于响应时间要求较高或运行于有限资源平台上的应用,甚至socket API是唯一可用的进程间通信设施。

socket API出现于20世纪80年代早期,作为Berkeley Unix(BSD 4.2)操作系统程序库来通过进程间通信功能。现在主流操作系统都提供socket API。在基于Unix系统中,如BSD、Linux系统,socket API是操作系统内核的一部分;在MS-DOS、Windows OS、OS/2等操作系统中,socket API是以程序库形式提供的,如在Windows系统中,socket API被称为Winsock。

Socket接口规范可以适用多种通讯协议,主要是TCP/IP。TCP/IP是计算机互联最常适用的网络通讯协议,TCP/IP的核心部分由网络操作系统的内核实现,应用程序通过编程接口来访问TCP/IP,应用程序通讯的方式有图3-1所示。

计算机网络实验 socket编程,计算机网络实验 socket编程_第1张图片

图3-1:应用程序通信方式

TCP/IP使用一个网络地址和一个服务端口号来惟一地标识设备。网络地址标识网络上的特定设备;端口号标识要连接到的该设备上的特定服务。网络通讯的基本模式如下:每一台通讯的主机都有一个本网络环境中惟一的IP地址,一台主机上往往有多个通讯程序存在,每个这样的程序都要占用一个通讯端口。因此,一个IP地址,一个通讯端口,就能确定一个通讯程序的位置。

二、Socket通讯连接方式

Socket主要有三种通讯方式:流式Socket、数据报Socket和原始Socket。

1.流式Socket(SOCK_STREAM)

流式套接字提供了基于Unix操作系统的流式I/O的数据传输模式,它仅仅支持通过可靠的、面向连接的通信,类似于电话系统服务,即每一次完整的数据传输都要经过建立连接、

1

你可能感兴趣的:(计算机网络实验,socket编程)