2021.11.20-11.21聊天室开发遇到的问题
byte[] 转换成 String
用byte[].toString();方法得到的是byte类型下的字符串
用new String(byte[], charset)才能实现我想要的“翻译”
String transferResult = new String(b, "utf-8");
//判断转化后的字符串是否和原字符串一致
System.out.println(transferReslut.equals(website));
尽管已经学过字符串之间的比较要用equals()方法
我在判断请求标志的时候还是写出了if(temp.substring(0,9).equals("conne!ctR"))这种低级错误
用split(regex)方法分割请求数据时 regex写成了regex = "$"(想要用$分割字符)
"$"不是正则表达式的格式,改成"[$]"才能识别
聊天室的界面以及游戏的界面中的 各组件 在窗口大小变化时位置可能会改变?
换一个合适的布局
用nodejs + html + css弹性盒子可能会比较好看
考虑到学习成本还是换个布局将就将就吧
一开始每一次连接都会把请求连接的用户加入到Users里
所以在连接请求发送给服务端时对现有用户进行查重 用户较少,用最简单的顺序查找
编码问题 还是编码问题
javaswing打开客户端窗口 接收到的数据包中的中文解析是乱码
解决:a.print(new String(data, "GBK"));这里的乱码是data转String 默认可能是utf-8?
(待解决)
用户退出客户端后 在服务器端的用户数据不会删除
考虑:用某个数据结构存储用户数据 还要接受到用户退出的信息!
端口又出现问题了
解决:端口就像暗号一样,像是通道的号码,
客户端通过端口3002向服务端发送数据包,服务端从端口3002接收来自客户端的数据包
服务端通过端口3001向客户端发送数据包,客户端从端口3001接收来自服务端的数据包
编码编码还是编码