c# - 如何使用 socket.io 将实时数据获取到使用 C# 的 Win Form
问题描述
我正在使用以下 C# 代码在我的桌面应用程序中显示实时数据
string strQuery = "AbcD";
string socketURI = "https://mysocketio.com/";
Dictionary<string, string> dictQS = new Dictionary<string, string>();
dictQS.Add("token", strQuery);
dictQS.Add("transport", "websocket");
try
{
IO.Options options = new IO.Options() { AutoConnect = true, ForceNew = true, Path = "/socket/", Query = dictQS };
var cSocket = IO.Socket(socketURI, options); //An item with the same key has already been added
cSocket.Connect();
cSocket.On(Socket.EVENT_CONNECT, () =>
{
Console.WriteLine("success");
});
cSocket.On("change", (data) => {
MessageBox.Show("change");
});
cSocket.On(Socket.EVENT_DISCONNECT, () =>
{
Console.WriteLine("Disconnected");
});
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
但我得到了一个错误An item with the same key has already been added
。请提供解决方案。谢谢。
解决方案
也许您应该检查该键是否存在于字典中?
if (!dictQS.ContainsKey(yourKey))
dictQS.Add(yourKey, yourValue);
else
dictQS[yourKey] = yourValue;
推荐阅读
- python - KeyError: 'input_1_ib-0' 当我保存我的自动编码器模型时
- openedge - 如何以 30 分钟为间隔对 24 小时数据进行分组以获取计数?
- javascript - React:重新加载页面后不再获取数据
- jquery - 平滑滚动偏移在 iOS Safari 上不起作用
- python - 递归查找最后一位数字总和
- ringcentral - RingCentral 选择扩展用户并将他们从应用程序中注销
- php - 带有 API 的 ERC20 交易列表
- git - 为什么我需要在变基后合并?
- postgresql - 如何优化 Postgresql 中的行级安全性
- python-3.x - 雅虎财经:无法读取网址