Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java)选择人们可以使用的令牌';t输入或其他想法来解决此问题_Java_String_Token - Fatal编程技术网

Java)选择人们可以使用的令牌';t输入或其他想法来解决此问题

Java)选择人们可以使用的令牌';t输入或其他想法来解决此问题,java,string,token,Java,String,Token,我正在制作聊天程序,遇到了一些问题 我尝试stringtokenize数据包。 这个包包括4个项目 Timestamp sendTime, String sendUserID, String chattingMessage, String roomNo. 当客户端发送此数据包时,(数据包为string::string packet;) 我试图通过一些特殊字符(#,@,^…)或服务器端的其他东西来标记这个数据包 但由于chattingMessage,(chattingMessage可以包含任何

我正在制作聊天程序,遇到了一些问题

我尝试
stringtokenize
数据包。 这个包包括4个项目

 Timestamp sendTime, String sendUserID, String chattingMessage, String roomNo.
当客户端发送此数据包时,
(数据包为string::string packet;)
我试图通过一些特殊字符
(#,@,^…)
或服务器端的其他东西来标记这个数据包 但由于chattingMessage,(chattingMessage可以包含任何特殊字符..(用户可以在消息中输入任何字符..所以如何选择我的标记化字符??)

我不能选择一个合适的

有没有人有这个问题的想法和解决方案??
我很好奇。

设计数据包,使其在字符串内容之前包含字符串的长度。然后您知道该字符串在数据包中的结束位置,以及下一段数据的开始位置


例如,您可以研究如何格式化。设计序列化数据包格式实际上与设计文件格式相同,唯一的区别是从何处读取数据。

将用户消息中的
\
的任何实例替换为
\
。然后将
替换为
\
。检查
时,确保前面没有
\
。当向用户显示消息时,删除所有未被另一方处理的
\

我认为客户端必须发送字节[],而不是字符串。

和数据包必须由POJO执行,POJO必须在通信过程中进行序列化/反序列化。

如果您的代码插入了分隔符,只需使用用户无法输入的字符,例如字符SOH(标题开头),其Unicode代码点为
\u0001
或STX(文本开头)
\u0002