我通过 TCP 套接字异步发送数据。我目前连接到本地计算机上的 SMSC 模拟器,只是为了检查是否正确创建了所有数据包,然后再连接到真实的东西。
我只发送了一次 PDU,SMSC 完美接收,并生成响应 PDU 并将其发送回来,但之后模拟器上会弹出一条错误消息,指出它无法接收 100 条消息。问题是我只发送一次,没有循环运行不断发送消息,我已经调试并检查它只发送一次。
我认为问题可能出在PDU的创建上。我首先创建一个大小为 1024 的字节数组,然后根据需要进行填充。填满时,它不会使用数组的整个空间。所以我在想,当模拟器收到它时,从数组中检索数据,然后它在实际数据之后读取数组中的“0”字节作为新消息,因为它给了我一条响应消息,说数据无效。
有没有办法避免这种情况,或者我只是在这里遗漏了什么?据我说,当接收字节数组中的值时,你应该只使用必要的编码来检索数据,其余的“0”字节应该被忽略吗?
抱歉,如果我的问题含糊不清。