1 / 45
文档名称:

TCP协议开发-精.ppt

格式:ppt   页数:45页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

TCP协议开发-精.ppt

上传人:用户头像没有 2015/10/12 文件大小:0 KB

下载得到文件列表

TCP协议开发-精.ppt

相关文档

文档介绍

文档介绍:第10章 TCP协议开发
相关概念
定义与获取主机信息
同步套接字编程
同步套接字开发举例——简单聊天程序
使用TcpClient和TcpListener简化TCP编程
异步套接字编程
异步套接字开发举例
TCP协议是互联网中最重要的协议之一,几乎所有的网络服务都是基于TCP协议的。
TCP协议最主要的特点是:
1) 基于连接的协议。
2) 保证数据包准确到达。
3) 保证各数据包到达的顺序与数据包发出的顺序相同。
4) 传输的数据无消息边界。
基本概念
基本概念(相关概念)
同步
发送方将数据包发送到网络上以后,不等接收方响应,就接着发送下一个数据包。
异步
发送方将数据包发送到网络上以后,等接收方做出响应后,才接着发送下一个数据包。
- 同步套接字
在通过Socket进行连接、接收、发送操作时,客户机或服务器会暂停当前工作,处于等待状态,即一直等到有数据时才继续执行下面的语句。一般在阻塞方式下使用这种方式。可见,同步套接字适用于网络传输量不太大的情况。当网络传输量很大时,长时间的等待可能会让用户无法忍受。
- 异步套接字
在通过Socket进行连接、接收、发送操作时,客户机或服务器不会暂停当前工作,而是利用callback机制进行连接、接收和发送处理。异步套接字适用于需要在网络上进行大量数据传输的应用程序,比如有几万客户同时传输的情况。
定义与获取主机信息
定义主机对象
IPEndPoint类
IPAddress类
获取主机信息
Dns类中常用方法
()
(string hostname)
(address)
()

IPEndPoint 类包含应用程序连接到主机上的服务所需的主机和端口信息。通过组合服务的主机 IP 地址和端口号,IPEndPoint 类形成到服务的连接点。
常用的方法原型:
public IPEndPoint(IPAddress address, int port);
说明:
address:IP地址
port:端口号
功能:初始化IPEndPoint类的实例。
用法举例:
IPAddressmyServerIP=new (“”);
IPEndPoint myServer=new IPEndPoint(myServerIP,13);
2. 主机解析
程序实例——()的使用
using System;
using ;
public class TestFileStream{
static void Main() {
("输入主机名或者IP地址:");
string str=();
IPHostEntry host=(str);
for(int i=0;i<;i++) {
([i].ToString());
();
}
();
}}
同步套接字编程

在服务器与客户机连接传输数据前,服务器需要做以下事情:
1) 创建一个套接字。
2) 创建本地IPEndPoint对象。
3) 使用Bind()方法将所创建的套接字与本地IPEndPoint
绑定。
4) 使用Listen()方法设置套接字为监听模式。
5) ept()方法接收客户端连接请求并为客户端创
建一个客户端套接字。
实现方法
using ;
using .Sockets;
……
IPAddress ip=("");
IPEndPoint iep=new IPEndPoint(ip,6788);
Socket socket=new Socket(,
,);
(iep);
(10); //最多允许10个客户端同时连接
while(true){
Socket clientSocket=();
……}

最近更新