Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

c#网络编程

作者:浮云过影   发布日期:2025-05-01   浏览:97

using System;
using System.Net;
using System.Net.Sockets;
using System.Text;

namespace NetworkProgrammingExample
{
    class Program
    {
        static void Main(string[] args)
        {
            // 创建一个TCP客户端
            using (TcpClient client = new TcpClient("example.com", 80))
            {
                // 获取网络流
                NetworkStream stream = client.GetStream();

                // 发送HTTP请求
                string request = "GET / HTTP/1.1\r\nHost: example.com\r\nConnection: close\r\n\r\n";
                byte[] requestBytes = Encoding.ASCII.GetBytes(request);
                stream.Write(requestBytes, 0, requestBytes.Length);

                // 接收响应
                byte[] responseBuffer = new byte[1024];
                int bytesRead;
                StringBuilder response = new StringBuilder();

                do
                {
                    bytesRead = stream.Read(responseBuffer, 0, responseBuffer.Length);
                    response.Append(Encoding.ASCII.GetString(responseBuffer, 0, bytesRead));
                } while (stream.DataAvailable);

                // 输出响应
                Console.WriteLine(response.ToString());
            }
        }
    }
}

解释说明

  1. 创建TCP客户端:

    • 使用 TcpClient 类创建一个 TCP 客户端,并连接到指定的主机和端口(例如,example.com 和端口 80)。
  2. 获取网络流:

    • 使用 client.GetStream() 方法获取与服务器通信的网络流。
  3. 发送HTTP请求:

    • 构建一个简单的 HTTP GET 请求字符串,并将其转换为字节数组。
    • 使用 stream.Write 方法将请求发送到服务器。
  4. 接收响应:

    • 使用 stream.Read 方法从服务器读取响应数据。
    • 将接收到的字节数据转换为字符串并存储在 StringBuilder 中,直到所有数据都读取完毕。
  5. 输出响应:

    • 最后,将接收到的响应输出到控制台。

这个示例展示了如何使用 C# 进行基本的 TCP 网络编程,通过建立与服务器的连接、发送请求和接收响应来实现网络通信。

上一篇:c# rectangle

下一篇:c#游戏开发

大家都在看

c# 二进制

c# tcp client

c# type.gettype

c# sqlconnection

.net和c#

c#游戏开发

c#网络编程

c# rectangle

c# if else

c# rtsp

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站