由于我控制仪器比较多,其中一些是发个查询指令然后读个结果,所以同步接收模式就很必要了。
目前我注意到接收都是异步模式,我希望能增加同步接收函数,就像C#自带Socket库中的readstring函数一样。
库中可以加个属性用来设置当前使用是同步接收还是异步接收。然后再增加几个同步读取(接收)函数。
这样,我就可以使用一个库解决多种应用了,主要是能同时在程序中就使用一套Socket和多种模式仪器服务端(查询模式、状态广播模式)通讯了。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
对,是发送数据然后同步接收。我先看下,能不能满足我的要求。
请看图片,调试助手在我发送“*IDN?\n”时返回一个字符串;而使用例子程序时,弹出一个任务取消的提示,“A task was canceled”。
注意转义\n是换行符,所以直接用demo没有解析到转义字符,服务端没能正确解析
问题找到了。奇怪透顶,直接发"*IDN?\n"不行,代码中是this.textBox2.Text.ToUTF8Bytes()。
改成发"*IDN?",并且代码改为(this.textBox2.Text+"\n").ToUTF8Bytes()。就可以了。
我的问题已解决。使用这个方法可以同步接收,原来正常使用是异步接收。感谢。
注:悬赏我不知还需要我在网页上操作不,我觉得你可以直接领取了。如果需要我点击什么,请提醒我。
登录 后才可以发表评论