点击或拖拽改变大小

NetSupport 类

静态的方法支持类,提供一些网络的静态支持,支持从套接字从同步接收指定长度的字节数据,并支持报告进度。
继承层次
SystemObject
  HslCommunication.CoreNetSupport

命名空间:  HslCommunication.Core
程序集:  HslCommunication (在 HslCommunication.dll 中) 版本:8.2.1.0 (8.2.1.0)
语法
public static class NetSupport

NetSupport 类型公开以下成员。

方法
  名称说明
公共方法静态成员代码示例ReadBytesFromSocket(Socket, Int32)
读取socket数据的基础方法,只适合用来接收指令头,或是同步数据
公共方法静态成员代码示例ReadBytesFromSocket(Socket, Int32, ActionInt64, Int64, Boolean, Boolean)
读取socket数据的基础方法,只适合用来接收指令头,或是同步数据
公共方法静态成员ReceiveCommandLineFromSocket(Socket, Byte)
接收一行命令数据,需要自己指定这个结束符
公共方法静态成员ReceiveCommandLineFromSocket(Socket, Byte, Byte)
接收一行命令数据,需要自己指定这个结束符
公共方法静态成员代码示例WriteSocketFromStream
读取流并将数据写入socket
公共方法静态成员代码示例WriteStreamFromSocket
从socket套接字读取数据并写入流中,必然报告进度
Top
备注
在接收指定数量的字节数据的时候,如果一直接收不到,就会发生假死的状态。接收的数据时保存在内存里的,不适合大数据块的接收。
示例
一个接收的示例
ReadBytesFromSocket示例
// 创建socket
Socket socket = new Socket( AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp );
socket.Connect( IPAddress.Parse( "192.168.0.7" ), 1000 );

// 准备接收指定长度的数据,假设为10000个长度,然后输出进度
Action<long, long> report = ( long rece, long totle ) =>
 {
     Console.WriteLine( "总数据量:" + totle + "  当前接收字节数:" + rece );
 };
byte[] receive = NetSupport.ReadBytesFromSocket( socket, 10000, report, false, false );

// 根据需要选择是否关闭连接
socket.Close( );

// 接下来就可以对receive进行操作了
参见