AcceptTcpClient()和基于TcpClient的类
本文关键字:TcpClient 的类 AcceptTcpClient | 更新日期: 2023-09-27 18:15:30
我需要一个类,它将拥有TcpClient拥有的一切+几个额外的字段,所以我创建了一个基于TcpClient的类:
public class MyClient: TcpClient
{
public string winUser;
public bool needHelp;
public bool needSignOff;
public MyClient() : base() {
this.needHelp = false;
this.needSignOff = false;
this.winUser = "empty";
}
}
现在我需要将所有传入的连接创建为该类的对象:
MyClient clientConnection = (MyClient)this.helpServer.AcceptTcpClient();
问题是AcceptTcpClient()生成一个TcpClient类对象,当我试图连接到服务器时,我一直得到这个异常:
listenServer():无法强制转换System.Net.Sockets类型的对象。TcpClient' to type 'Server.MyClient'.
如何将AcceptTcpClient()给我的TcpClient对象转换为MyClient对象?
不能将类型(TcpClient
)向下转换为更派生的类型(MyClient
)。您必须更新AcceptTcpClient
以返回MyClient
对象。