SocketIoClientDotNet-Socket.IO客户端库有时会发出两个连续的事件,有时则不会 - c#

我正在使用SocketIoClientDotNet-.Net的Socket.IO客户端库,并且我试图一个接一个地发出两个事件。有时它发出两个事件,有时它只发出第一个事件。下面是我的代码:

socketModel sm = new socketModel();
sm.CHANNEL = "channel_" + cHAT_MESSAGES.SENDER_ID + cHAT_MESSAGES.RECEIVER_ID;
sm.DATA = chatMessageModelObj;

string serializedData = Newtonsoft.Json.JsonConvert.SerializeObject(sm);

var socket = IO.Socket(ConfigurationManager.AppSettings["socketlink"].ToString());
socket.On(Socket.EVENT_CONNECT, () =>
{
      socket.Emit("apimessage", serializedData);
});

socket.On("apimessage", (data) =>
{
     Console.WriteLine(data);
     socket.Disconnect();
});


 socketModel smSecond = new socketModel();
 smSecond.CHANNEL = "messagecount_" + userID;

 if (updateCount == null)
 {
       smSecond.DATA = 0;
 }
 else
 {
       smSecond.DATA = updateCount.Count();
 }

 string serializedDataSecond = Newtonsoft.Json.JsonConvert.SerializeObject(smSecond);
 socket.On(Socket.EVENT_CONNECT, () =>
 {
      socket.Emit("apimessage", serializedDataSecond);
 });

 socket.On("apimessage", (data) =>
 {
      Console.WriteLine(data);
      socket.Disconnect();
 });

当我重新启动nodejs服务器时,之前未发出的所有第二个事件都在重新启动后发送。任何帮助将不胜感激。

参考方案

我曾经遇到过类似的问题,这是因为为套接字对象创建了实例。首先,当我在两个不同的浏览器中打开同一应用程序时,我使用单例模式来获取导致我出现问题的套接字对象的实例。因此,我尝试使用会话来保留我的套接字对象,而不是使用多个套接字对象。尝试对对象使用会话,而不要创建两个不同的实例。希望能帮助到你!

当回复有时是一个对象有时是一个数组时,如何在使用改造时解析JSON回复? - java

我正在使用Retrofit来获取JSON答复。这是我实施的一部分-@GET("/api/report/list") Observable<Bills> listBill(@Query("employee_id") String employeeID); 而条例草案类是-public static class…

改造正在返回一个空的响应主体 - java

我正在尝试使用Retrofit和Gson解析一些JSON。但是,我得到的响应机构是空的。当我尝试从对象中打印信息时,出现NullPointerException。我确保URL正确,并且我也确保POJO也正确。我正在使用jsonschema2pojo来帮助创建POJO类。这是我要解析的JSON{ "?xml": { "@versi…

每个文件合并后添加换行 - python

我有很多类似以下内容的JSON文件:例如。1.json{"name": "one", "description": "testDescription...", "comment": ""} test.json{"name"…

您如何在列表内部调用一个字符串位置? - python

我一直在做迷宫游戏。我首先决定制作一个迷你教程。游戏开发才刚刚开始,现在我正在尝试使其向上发展。我正在尝试更改PlayerAre变量,但是它不起作用。我试过放在列表内和列表外。maze = ["o","*","*","*","*","*",…

Mongo汇总 - javascript

我的收藏中有以下文件{ "_id": ObjectId("54490b8104f7142f22ecc97f"), "title": "Sample1", "slug": "samplenews", "cat": …