近来,有客户在中琅条码打印软件中连接Socket数据源时,提示Socket err:Socket closed(通讯关闭),客户咨询这是怎么回事?客户在第三方socket调试工具上调试我的socket程序是没问题的,就是在中琅条码打印软件中连接不上。
这边给客户发了一个工具,用工具连软件看看能否连。
用工具软件测试socket是能正常连接的。
但是连接的时候,一直在转圈圈。
通过上图我们可以发现,已经收到##get01了,需要回复数据。带换行符回复数据。
为了让客户便于理解,这边整理了一个关于网络通讯数据传输模式演示的教程,可以供用户参考:注意:无论是##get01 ,还是get01都得回复数据,带换行符回复数据。
说明:通讯方式采用Socket(TCP)方式,编辑软件为客户端;数据提供程序为服务端。
一、通讯协议
1、当客户端(编辑软件)向服务端(数据提供程序)发送数据请求指令“get01”时,该服务端应及时返回一条打印数据,并以“\r\n”(0x0D 0x0A)结尾;如果无数据返回,客户端会一直阻塞等待,直到服务端返回数据。
2、当客户端向服务端发送数据请求指令“##get01”时,该服务端应及时返回一条样本数据(供排版、预览使用,请尽量保证与打印数据的格式一致),并以“\r\n”(0x0D 0x0A)结尾;如果无数据返回,客户端会一直阻塞等待,直到服务端返回数据。
3、服务端向客户端返回的数据格式:字段1,字段2,字段3,……
其中“,”为半角逗号;如果数据本身含有“,”,请将分隔符改为其它符号,比如tab符号(编辑软件中须做相应设置);
数据中的多个字段被编辑软件用来设置同一张内容中的不同图形的数据;
4、客户端在不同时期会发起多个连接请求、建立多个连接通道,服务端请务必保证对每一个正常连接的客户端的请求做出响应。
二、编辑软件设置方法
注意:操作前,请保证服务端(数据提供程序)已经正常运行。
1、Socket数据库设置
添加Socket数据源:
填写各项Socket参数(地址、端口、编码等)。如果需用多字段,Socket返回字符串中请用分隔符拼接多字段内容,如:111111,222222,333333。数据源设置窗口中的“分隔符号”请选择对应分隔符。
2、绘制数据图形(文字、图片、条码、二维码等)
3、图形属性修改(数据源->修改数据对象为“数据库导入”)
并选择socket数据库及对应字段:
多个图形的数据绑定请重复上述2、3步。
参考上述教程后,中琅条码打印软件获取到数据了,如图所示:
以上就是有关中琅条码打印软件连接socket数据源提示通讯关闭的解决方案。有需求的用户,可以参考上述教程操作。