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

 

编码编码还是编码

 


__EOF__

本文作者cheng_zhi
本文链接https://www.cnblogs.com/chengzhid/p/15584368.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   cheng_zhi  阅读(41)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示