You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#中ServerSocket不被支持的报错问题及解决方案咨询

解决C#中ServerSocket未定义的问题

你遇到的核心问题是:.NET框架(包括.NET Framework/.NET Core/.NET 5+)没有内置ServerSocket类——这个类是Java标准库的内容,旧技术文章大概率混淆了Java和C#的网络API。

看你的代码,你已经在使用C#中正确的TCP服务器实现类TcpListener,完全不需要依赖不存在的ServerSocket。下面是修正后的代码:

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

namespace PowerCarsMobileServer
{
    class Server
    {
        public static int Port { get; private set; }
        private static TcpListener tcpListener;

        public static void Start(int _port)
        {
            Port = _port;
            Console.WriteLine("Starting server...");
            InitializeServerData();
            
            // C#中创建TCP服务器的标准方式:初始化并启动TcpListener
            tcpListener = new TcpListener(IPAddress.Any, Port);
            tcpListener.Start();
            Console.WriteLine($"Server started on port {Port}.");
            
            // 如果需要接受客户端连接,可添加如下异步逻辑(示例)
            _ = AcceptClientsAsync();
        }

        // 你的初始化方法(根据实际需求实现)
        private static void InitializeServerData()
        {
            // 这里编写服务器初始化逻辑,比如加载配置、初始化数据结构等
        }

        // 示例:异步接受客户端连接的方法
        private static async System.Threading.Tasks.Task AcceptClientsAsync()
        {
            while (true)
            {
                TcpClient client = await tcpListener.AcceptTcpClientAsync();
                Console.WriteLine("New client connected.");
                // 此处添加客户端通信处理逻辑,比如开启独立任务处理数据收发
            }
        }
    }
}

关键修正说明

  • 直接移除所有ServerSocket相关代码,因为.NET不存在这个内置类型
  • 保留并正确使用TcpListener,这是C#实现TCP服务器的官方标准API
  • 如果需要处理客户端连接,可参考示例中的AcceptClientsAsync方法实现异步连接接收

如果旧文章中的ServerSocket是某个自定义类(比如文章作者自行实现的封装类),你需要找到对应的类代码并添加到项目中,或引用对应的第三方包。但从你的需求来看,用原生TcpListener完全能满足创建TCP服务器的需求。

内容的提问来源于stack exchange,提问作者Pavel Sheludko

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 02:00:34