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

c#socket

作者:妳會吥會在吥經意間想起莪?   发布日期:2025-06-24   浏览:27

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

class Program
{
    static void Main(string[] args)
    {
        // 创建一个Socket对象,指定协议族、套接字类型和协议类型
        Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);

        try
        {
            // 定义服务器的IP地址和端口号
            IPAddress ipAddress = IPAddress.Parse("127.0.0.1");
            int port = 5000;

            // 将IP地址和端口号组合成IPEndPoint对象
            IPEndPoint ipEndPoint = new IPEndPoint(ipAddress, port);

            // 连接到服务器
            socket.Connect(ipEndPoint);
            Console.WriteLine("连接到服务器成功");

            // 发送数据
            string message = "Hello, Server!";
            byte[] sendData = Encoding.UTF8.GetBytes(message);
            socket.Send(sendData);
            Console.WriteLine("发送数据: " + message);

            // 接收数据
            byte[] receiveData = new byte[1024];
            int receivedBytes = socket.Receive(receiveData);
            string receivedMessage = Encoding.UTF8.GetString(receiveData, 0, receivedBytes);
            Console.WriteLine("收到数据: " + receivedMessage);

            // 关闭连接
            socket.Shutdown(SocketShutdown.Both);
            socket.Close();
        }
        catch (Exception e)
        {
            Console.WriteLine("发生错误: " + e.Message);
        }
    }
}

解释说明

  1. 创建Socket对象

    • 使用new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)创建一个TCP类型的Socket对象。
  2. 定义服务器信息

    • IPAddress.Parse("127.0.0.1"):指定服务器的IP地址(这里使用本地环回地址)。
    • int port = 5000:指定服务器的端口号。
  3. 连接到服务器

    • 使用socket.Connect(ipEndPoint)方法连接到指定的服务器。
  4. 发送数据

    • 将要发送的消息转换为字节数组,然后使用socket.Send(sendData)发送数据。
  5. 接收数据

    • 使用socket.Receive(receiveData)接收来自服务器的数据,并将其转换为字符串格式。
  6. 关闭连接

    • 使用socket.Shutdown(SocketShutdown.Both)关闭读写操作,然后使用socket.Close()关闭Socket。
  7. 异常处理

    • 使用try-catch块捕获并处理可能发生的异常。

上一篇:c#invoke

下一篇:c# savefiledialog

大家都在看

c# 二进制

c# tcp client

c# type.gettype

c# sqlconnection

.net和c#

c#游戏开发

c#网络编程

c# rectangle

c# if else

c#高并发

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

Laravel 中文站