C# C语言中的WebSocket与ClientWebsocket#

C# C语言中的WebSocket与ClientWebsocket#,c#,websocket,system.net,clientwebsocket,C#,Websocket,System.net,Clientwebsocket,我有一个C#类来管理服务器和win forms应用程序之间的连接。此类设置消息队列,并通过套接字发送和接收数据。我最初的意图是在客户端和服务器上使用同一个类来管理消息传递。但是,在服务器上,Web套接字对象是System.net.websocket,而在客户端,它是扩展websocket的ClienWebSocket。我尝试将WebSocket对象强制转换为ClientWebSocket,因为其中一个继承了另一个,但这不起作用。 不管怎样,我是否可以为WebSocket获得一个通用的对象类型,该

我有一个C#类来管理服务器和win forms应用程序之间的连接。此类设置消息队列,并通过套接字发送和接收数据。我最初的意图是在客户端和服务器上使用同一个类来管理消息传递。但是,在服务器上,Web套接字对象是System.net.websocket,而在客户端,它是扩展websocket的ClienWebSocket。我尝试将WebSocket对象强制转换为ClientWebSocket,因为其中一个继承了另一个,但这不起作用。 不管怎样,我是否可以为WebSocket获得一个通用的对象类型,该对象类型将在连接的两侧工作


谢谢

连接的每一方(在客户端/服务器中)的代码中使用不同的类型并不重要,只要它们可以使用相同的协议进行通信。是的,但是我正在将表示连接的对象传递到此类中(尝试为双方使用一个类)但连接是由两侧的不同对象重复的。这就是我的问题基本上如果我让类接受一个websocketclient对象,那么我就不能传入一个websocket对象,如果我以另一种方式更改它,那么在reverseAn中也是同样的问题,对象只能转换为它实现的类型。不是所有WebSocket都实现了ClientWebSocket,而是所有ClientWebSocket都实现了WebSocket。因此,需要显式向下转换(在运行时可能会失败)-如果存在InvalidCastException,这就是问题所在,错误消息中将包含无法转换的确切类型。只要需要WebSocket表达式,就允许使用ClientWebSocket类型的表达式,因为将自动执行向上转换(因为ClientWebSocket是一个WebSocket)。好的,我的说法是相反的,我应该允许将“ClientWebSocket”转换为“WebSocket”在连接的每一端(在客户端/服务器中)的代码中使用不同的类型并不重要,只要它们可以使用相同的协议进行通信即可。是的,但是我正在将表示连接的对象传递到此类中(尝试为双方使用一个类)但连接是由两侧的不同对象重复的。这就是我的问题基本上如果我让类接受一个websocketclient对象,那么我就不能传入一个websocket对象,如果我以另一种方式更改它,那么在reverseAn中也是同样的问题,对象只能转换为它实现的类型。不是所有WebSocket都实现了ClientWebSocket,而是所有ClientWebSocket都实现了WebSocket。因此,需要显式向下转换(在运行时可能会失败)-如果存在InvalidCastException,这就是问题所在,错误消息中将包含无法转换的确切类型。只要需要WebSocket表达式,就允许使用ClientWebSocket类型的表达式,因为将自动执行向上转换(因为ClientWebSocket是一个WebSocket)。好的,我的说法是相反的,我应该允许将“ClientWebSocket”转换为“WebSocket”