首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C#无法从"Gameserver.Client.TCP“转换为"Sytem.Net.Sockets.TcpClient”

C#无法从"Gameserver.Client.TCP“转换为"Sytem.Net.Sockets.TcpClient”
EN

Stack Overflow用户
提问于 2020-04-09 00:03:21
回答 1查看 126关注 0票数 0

我正在尝试为一个简单的游戏设置一个测试服务器,并且我正在遵循一个教程(https://www.youtube.com/watch?v=uh8XaC0Y5MA)。有问题的代码是:

代码语言:javascript
复制
using System;
using System.Collections.Generic;
using System.Text;
using System.Net;
using System.Net.Sockets;


namespace GameServer
{
    class Client
    {
        public static int dataBufferSize = 4096;
        public int id;
        public TcpClient tcp;

        public Client(int _clientId)
        {
            id = _clientId;
            tcp = new TCP(id);
        }

        public class TCP
        {
            public TcpClient socket;

            private readonly int id;
            private NetworkStream stream;
            private byte[] receiveBuffer;

            public TCP(int _id)
            {
                id = _id;
            }
        }
    }
}

每当我尝试运行程序时,我都会从标题中得到错误,因为这段代码(确切地说是"new TCP(id)“部分):

代码语言:javascript
复制
public Client(int _clientId)
{
    id = _clientId;
    tcp = new TCP(id);
}

根据我的理解,问题是我不能从自己编写的代码转换到标准库,但我看不出哪里会有问题。所以我的问题是:有没有我可以使用的转换或其他解决方案。提前谢谢你。PS。如果你需要更多的源代码,请写评论。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-09 00:17:51

看起来您的字段tcp被定义为TCPClient类型,而不是TCP类型。类型不匹配。您希望它是哪种类型?

您需要修复new后面的类型,或者字段定义中的类型。根据结构( TCP类型内部包含一个TCPClient ),您希望字段tcp的类型为TCP。因此,将public TCPClient tcp;更改为public TCP tcp;

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61105031

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档