您的位置:软件 > 开发者网络 > 微软开发专栏 > Visual Studio.net专栏 > VB.net > 正文
Visual Basic.Net实现TCP协议
[文章信息]
作者:阿虎
时间:2003-12-29
出处:天极开发者网络
责任编辑:方舟
[文章导读]
本文的主要内容就来介绍在Visual Basic .Net实现基于TCP协议网络数据传送的一种简单的方法
advertisement
热点推荐
· 好友上线通知——QQ千里眼
· 解析Windows操作系统的管理
· 剑走偏锋——灵巧的旁注攻击
· Mail Notifier邮件提醒工具
· Linux操作系统网络应用解疑
[正文]

1 2 3 4 5 6  下一页

天极IT资讯短信服务 电脑小技巧
资费:包月5元
手机:
介绍:细处着手,巧处用功。高手和菜鸟之间的差别就是:高手什么都知道,菜鸟知道一些。电脑小技巧收集最新奇招高招,让你轻松踏上高手之路。


  TCP协议是TCP/IP协议簇中的传输层中的一个协议,也是TCP/IP协议簇最为重要的协议之一。在TCP/IP协议簇中,有一个协议和TCP协议非常类似,这就是UDP协议,网络上进行基于UDP协议的数据传送时,发送方只需知道接收方的IP地址(或主机名)和端口号就可以发送UDP数据包。而接收方只需知道发送方发送数据对应的端口号,就能够接收UDP数据包了。传送数据的双方并不需要进行连接就能够实现数据通讯,这样就导致基于UDP协议的网络应用程序,在传送数据时无法保证可靠性、完整性和安全性。

   而TCP协议却与之相反,TCP协议是一种面向连接的,并提供可靠的、完整的、安全的数据传送的网络协议。它提供可靠字节服务的协议。在网络中通过TCP协议传送数据之前,发送方和接收方之间必须建立连接,这种连接就是所谓的"握手"。网络中TCP应用,如同日常生活中的打电话,在通话之前,首先要拨号、震铃(犹如发送方向接收方提出TCP连接申请,并等待TCP连接申请通过)。直到对方拿起电话时(发送方和接收方的TCP连接已经建立),就可以通话了(传送数据)。本文的主要内容就来介绍在Visual Basic .Net实现基于TCP协议网络数据传送的一种简单的方法。

  一.简介本文在实现TCP协议网络应用时使用的类库:

  .Net FrameWork SDK中提供了很多用以实现TCP协议或与之相关协议的类库,本文就选择五个比较典型,也是比较简单的类加以介绍,即:TcpListener类、TcpClient类、NetworkStream类、StreamReader类和StreamWriter类。TcpClient主要用以提出TCP连接申请。TcpListener主要用以侦听端口号,并接收远程主机的TCP连接申请。NetworkStream类是实现TCP数据传输的基础数据流,StreamReader类作用是通过操作NetworkStream,实现从网络接收数据。StreamWriter类作用是通过操作NetworkStream,实现向网络传输数据。

  1. NetworkStream类:

  NetworkStream类主要是提供用于网络访问的基础数据流。它主要是网络数据传输的载体,并提供同步、异步方式来访问网络数据流。虽然NetworkStream类有构造函数,但在实际情况中更多是通过TcpClient实例的GetStream方法来初始化NetworkStream实例。以下就是使用TcpClient实例的GetStream方法来初始化NetworkStream实例具体代码:

Dim tcpClient As TcpClient
Dim nsStream As NetworkStream
tcpClient = New TcpClient( "www.microsoft.com" , 8000)
'对远程主机的8000端口提出TCP连接申请
nsStream = tcpClient.GetStream ( )
'TCP连接建立后,获得网络数据传输的基础数据流

  在下面介绍的程序示例中,就是利用NetworkStream作为传送和接收数据的载体。而操作这个载体的就是StreamWriter类和StreamReader类。表01和表02是NetworkStream类中一些常用的方法、属性及其说明。

方法 说明
BeginRead 开始异步读者基础数据流。
BeginWrite 开始异步写入基础数据流。
Close 关闭流并可选择关闭基础套接字。
EndRead 结束异步读取。
EndWrite 结束异步写入。
Flush 刷新流中的数据。
Read 从流中读取数据。
Seek 将流的当前位置设置为给定值。
SetLength 设置流的长度。
Write 将数据写入流。

表01:NetworkStream类中常用的方法及其说明

  其中"BeginRead"、"EndRead"和"BeginWrite"、"EndWrite"是二对异步方法,起作用分别相当于"Read"和"Write"方法。

属性 说明
CanRead 获取当前流是否支持读取。
CanSeek 获取流是否支持查找。该属性总是返回 false。
CanWrite 获取当前流是否支持写入。
DataAvailable 获取是否可以在流上读取数据。
Length 流上可用数据的长度。
Position 获取或设置流中的当前位置。

表02:NetworkStream类中属性及其说明


1 2 3 4 5 6  下一页

·"WAP天极之IT新闻资讯,50万元等你拿"    ·天极WAP之游戏狂图,50万元等你下载

天极社区邀请您:写博客日记  上传相片   论坛聊天  订阅电子杂志  推荐网摘   免费图铃工具
笔名:   请您注意:

 遵守国家有关法律、法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任。

 天极网拥有管理笔名和留言的一切权利。
评论:
 

发表评论推荐给朋友我想参加相关培训打印我对此感兴趣订阅电子杂志
相关内容阅读排行榜
  • 在VB.NET中应用SQLDMO
  • VB.NET实现五子棋的人工智能
  • VB.NET数据库编程中的图形处理
  • VB.NET数据库工具教程之四
  • VB.NET数据库工具教程之三
  • 使用VB.NET线程访问数据库
  • 利用.NET类将DTD插入XML文件
  • 利用VB.NET设计Web菜单组件
  • 让手机帮你抱得美人归
  • 光棍节、孙悟空 配件也能分公母
  • 好友上线通知——QQ千里眼
  • 解析Windows操作系统的管理
  • 史前巨鳄 超频三散热器
  • 明花有主 飞利浦LCD有奖活动完美收场
  • 剑走偏锋——灵巧的旁注攻击
  • 统统闪开,最超值5700LE登场
  • Advertisement

    天极无线
    待机彩图    >>更多
    多彩动画    >>更多
    美妙和弦    >>更多
    天使在唱歌
    壁虎漫步
    PrettyBoy
    LoveLoveLove
    我是你的小小狗
    单身情歌
    十面埋伏
    祝酒歌
    回心转意
    波斯猫
    太委屈
    S.H.E
    潘玮柏
    M2M
    蔡依林
    阿牛
    林志炫
    陈弈迅
    刀郎
    黑龙
    S.H.E
    陶晶莹
    情人玫瑰坊
    音乐风云
    新片速递
    神秘测试
    都市约会
    ·天极彩信天天精彩
    ·图铃梦工厂下载无限!
    ·找寻童真,卡通专题
    ·夏日激情交友社区!
    ·星座运程,预测人生

    CSEEK搜索