请教如何判断SOCKET 长连接通信中,一段时间内是否收到对方的信息
对方的接口文档中要求: 1
2 业务接口 服务端地址:211
131 端口号:9007 Tcp 协议适合发送量大,发送和接收比较及时,对于Tcp 客户端由于某些原因一段时间内不能连接到分发中心服务器,所有的发向该客户端的MO 短信和报告都会被缓存起来,等该客户端一旦连接,便会很快补发
建议合作方建立一个发送一个接收2 个连接,如果业务量很大,可以申请多于2个的连接,但须向业务申请后方可加连接,系统对于连接数是有限制的,每个合作方没有特殊声明时连接数是3,一般可以建 2 个连接,一个连接用于缓冲在某些情况下断开不能很好识别的情况
还有,对于每条连接,我们目前的速度限制是10 条/秒,如果你的业务超过每连接每秒 10 条的限制,可以向业务申请调高每条连接的最高限速
服务器端要求每连接每分钟都要能从客户端接收到至少一条指令数据,如果超过一分钟没有收到,服务器会向客户端发送一个测试指令,只要合作方回应该指令,那么就认为连接是处于激活状态,如果 3 分钟内服务端都无法接收到客户端的测试回应,将主动断开连接
客户端程序也应该设置 3 分钟内不能收到服务器端任何指令将主动断开连接并重新连接
为了防止分发中心连接负载太重,我们要求任何一个连接因任何原因在断开后 20 秒内不得连接,20 秒后再尝试连接,否则如果在 1 分钟内超过我们设定的连接次数,我们将限制其在后续 10 分钟之内不能连接,并向系统管理员告警,由系统管理员根据情况停止该用户的合作帐户
1 连接登陆指令 连接登陆指令是在客户端成功连接后首先应当而且只能在此时发送的指令: 格式: Login Name=【注册名】&Pwd=【注册密码】&Type=【注册类型,0:接收和发送;1:接收;2:发送;默认为 0】(回车换行