一、Socket相关概念
Socket的英文原义是“孔“或”插座“,作为通信机制通常称作”套接字”,用于描述IP地址和端口,是一个通信链的句柄
Socket非常类似于电话插座,以一个电话网为例,电话的通话双方相当于相互通信的2个程序,电话号码就是IP地址,任何用户在通话之前,首先要占有一部电话机,详单与申请了一个Socket,同时要知道对方的号码相当于对方有一个固定的Socket,然后向对方拨号呼叫,相当于发出连接请求,对方假如在场并空闲,拿起电话话筒双方就可以正式通话相当于连接成功,双方通话的过程,是一方向电话机发出信号和对方从Socket提交接受数据,通话结束后,一方挂起电话相当于关闭Socket,撤销连接。
在Internet上有很多这样的主机,这些主机一般运行了多个服务软件,同时提供了几种服务,每种服务都开了一个Socket,并绑定到一个端口上,不同的端口对应于不同的服务(应用程序)
Socket两种类型:
流式Socket(STREAM)
是一种面向连接的Socket,针对于面向连接的TCP服务应用,安全但是效率低
数据报式Socket(DATAGRAM)
是一种无连接的Socket对应于无连接的UDP服务应用,不安全。
Socket一般应用模式:
服务端的Socket(至少两个)
一个负责接收客户端连接请求(但不负责与客户端通信)
每成功接收到一个客户端的连接便在服务端产生一个应对的Socket
在接收到客户端连接时创建
为每个连接成功的客户端请求在服务端都创建一个对应的Socket(负责各客户端通信)
客户端的Socket
客户端的Socket
必须指定要连接的服务器端地址和端口
通过创建一个Socket对象来初始化一个到服务器端的TCP连接
Socket方法:
I PAdress类:包含一个IP地址
IPEndPoint:包含一对IP地址和端口号
Socket():创建一个Socket
Bind():绑定一个本地的IP和端口号(IPEndpoint)
Listen():让Socket监听传入的连接方式,并指定监听队列容量
Accept():接受连接到的Socket
Send():输出数据到Socket
Receive():从Socket中读取数据
Close():关闭Socket(销毁连接)
---------------------- Windows Phone 7手机开发、 .Net培训、期待与您交流! ---------------------- 详细请查看: http://edu.csdn.net/heima/