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接收来自服务端的数据包

 

编码编码还是编码

 

posted @ 2021-11-21 14:19  cheng_zhi  阅读(46)  评论(0)    收藏  举报