我正在尝试使用 WebSocket4Net 将客户端连接到 GameWisp Realtime API。我的连接代码如下所示:
public void Connect(string OAuth)
{
LoginData login = new LoginData(GAMEWISP_CLIENT_ID, GAMEWISP_CLIENT_SECRET);
Console.WriteLine("OAtuh = " + OAuth);
socket = new Client("https://singularity.gamewisp.com");
Console.WriteLine("Trying to connect");
try
{
socket.Connect();
}
catch(Exception e)
{
Console.WriteLine(e.StackTrace);
return;
}
Console.WriteLine("awaiting response");
socket.On("connect", (data) =>
{
Console.WriteLine(data);
socket.Emit("authenticate", JsonConvert.SerializeObject(login));
});
socket.On("authenticated",(data) => {Console.WriteLine(data);});
}
但是在运行此代码时,我得到以下控制台输出:
OAtuh = abc
Trying to connect
Error Event: Error initializing handshake with https://singularity.gamewisp.com/
System.Exception: Eine Ausnahme vom Typ "System.Exception" wurde ausgelöst.
awaiting response
我知道,如果握手失败,将不会建立连接,因此我不会收到“连接”事件。
但是我怎样才能解决这个问题以使握手工作,甚至只是获得更多关于究竟出了什么问题的信息?
编辑: 在做了一些研究后,我发现 WebSocket4Net 支持“socket.io 版本 0.9.x”,但如果我没记错的话,如果我按照 GameWisp 网站上给出的示例进行操作,我将需要“v1.2.x” :
<!doctype html>
<html>
<head>
<script src="https://cdn.socket.io/socket.io-1.2.0.js"></script>
...
所以现在我必须找到一种不同的方法。我可以提示如何建立连接以及发送和接收数据。