我正在使用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": …