C#中的TCP编程
来源:互联网 发布:大数据第三方服务商 编辑:程序博客网 时间:2024/05/07 17:05
TCP 编程
1,TCP 的特点: 向应用进程提供面向连接的服务;提供全双工数据传输服务;提供面向字节流的服务;
2,TcpClient 编程与 Socket 的区别?
.NET 提供面向 TCP 编程的相关类 (TcpClient和 TcpListener),比位于底层
的 Socket 类提供了更高层次的抽象,它们封装 TCP 套接字的创建,不需要处理
连接的细节。
3,什么是 TCP 消息无边界问题? 如何解决?
消息无边界是指 TCP 以字节流形式发送消息时,并没有指定消息的长度或消
息边界的标记,因此不能保证单个 Send 方法发送的数据被单个 Receive 方法接
收。
解决方法:1,发送固定长度的消息; 2,将消息长度与消息一起发送; 3,
使用特殊标记分隔消息;
4,TCP 消息网络流
网络流对象(NetworkStream) 只适用于TCP ,不适用于UDP;
NetworkStream netStream=tcpClient.GetStream() //获取网络流
StreamReader sr=new StreamReader(netStream,Encoding.UTF8);
StreamWriter sw=new StreamWriter(netStream,Encoding.UTF8);
…
//发送数据
string str=“发送的数据”;
sw.WriteLine(str); 写带有消息边界标记的消息
//接收数据
string receString=sr.ReadLine();
5,BinaryWriter 的Write 写法会自动附加长度前缀
使用 BinaryWriter 写内容是,该方法会自动计算内容占用的字节数,并使
用 4 个字节作为前缀将其附加到内容的前面;接收时首先读取内容的长度前缀,
并按照该长度接收本次消息的内容。P86
6,TCP 异步
实现模式:
1,基于事件的异步设计模式 ;如:BackGroundWorker、PictureBox 控件
2,基于 IAsync的异步设计模式
异步调用同步方法的使用效果的实质是异步调用,不等同于该方法的同步编
程。
0 0
- C#中的TCP编程
- C# TCP编程基础
- C# 网络编程:TCP编程
- c#网络编程之TCP
- C# Socket编程之TCP
- C# TCP 网络编程示例
- C# TCP和UDP编程
- C# TCP/IP网络编程
- C#网络编程系列五:TCP编程
- C#网络编程系列五:TCP编程
- C# 网络编程系列五:TCP编程
- ACE中的TCP Socket编程
- Qt中的TCP/UDP编程
- python中的TCP编程学习
- 网络编程中的TCP协议
- TCP网络编程中的listen
- C#中的cookie编程
- C#中的cookie编程
- win7管理员账户被禁用或者设置不显示后如何用标准用户解除_win7用户权限问题_administraotr账户问题
- JavaEE常见面试题集合之一:Hibernate,SSH
- nba战火纷纷明天热火的命运由谁来定
- VS调试以及Trace函数的用法
- 阅读论文的记录模版
- C#中的TCP编程
- 15个顶级Java多线程面试题及回答
- 最近的一点工作总结
- C#中UDP编程
- 进程间通信 - 邮槽实现
- Linux下破解神器(thc org hc-hydra
- 读书笔记:CSS禅意花园-布局细则
- JAVA中String与StringBuffer的区别
- 闲得无聊,随手来一发,就当随笔罢