如何用Socket实现客户端通信模块[1]

[入库:2005年8月18日] [更新:2007年3月25日]

本文简介:选择自 kanghc 的 blog

如何用socket实现tcp/ip客户端

­——实例浅析

1.   引言

时下,互联网平民化,家电信息化,办公自动化,城市数字化。通信在人们的生活、工作、娱乐等各个方面起到了至关重要的作用。如今大多数程序,都可能要涉及到通信方面,可能是与自己开发的程序通信,也可能是与网络上的其它程序通信。tcp/ip是应用最为广泛的协议之一,下面我就如何用socket实现tcp/ip客户端通信模块,将我个人在这方面实践的心得与读者分享。

2.   winsocket简介

2.1.  socket 1.1socket 2.0

最初window推出的socket1.1只应用于当时流行的tcp/ip,不支持其它的传输协议。用socket1.1实现的程序只支持两种类型的socket,即面向连接的sock_stream类型和面向无连接的sock_dgram。

鉴于1.1版本的局限性,微软又开发了socket 2.0。其中一个主要目的是想提供一个与协议无关的接口,全面满足多媒体实时通信的需要。这里注意到,socket 2.0并不是一种协议,而是一种接口,它能发现多种可用的传输协议。因此,在socket 2.0中加入了一些新函数,这些函数都是以wsa打头的。

socket 2.0改变了它的体系结构,以便更容易访问多种传输协议。按照windows的开放系统体系结构模型(wosa)的原则,socket 2.0定义出了标准的服务提供商接口(service provider interface,spi)。这些接口介于应用程序接口(application programming interface, api)及协议栈(protocol stacks)之间,是给不同的服务提供商用的。程序中用的是api。如图 2‑1所示

本文关键:通信,Socket,多线程
  相关方案
Google
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top