![](https://img-blog.csdnimg.cn/20181115205617641.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Socket网络编程进阶
Java最初是作为网络编程语言出现的,其对网络提供了高度的支持,使得客户端和服务器的沟通变成了现实,而在网络编程中,使用最多的就是Socket。像大家熟悉的QQ、MSN都使用了Socket相关的技术。下面就让我们一起揭开Socket的神秘面纱。
人月IT
深挖问题与动手实践-完成率比完成度更重要
展开
-
二次解码444
二次解码的过程相对来说要复杂一些, 先解出 header,从 header 中取出 cmd,根据 cmd 找到正确的 body 类型, 再使用 JSON 反序列化为 body 对象, 这里的难点在于如何根据 cmd 的值找到正确的 body 类型 ,我提供以下几种思路: 使用 Spring 容器来管理这些消息类型; 使用枚举类型来管理这些消息类型; 使用一个全局 Map 来管理这些消息类型; 使用 Spring 容器的话相对来说要方便一些,不过要编写自定义的 BeanPostProcessor 或者 B原创 2021-07-29 13:29:56 · 22219 阅读 · 0 评论 -
麻将游戏-协议实现 笔记
协议分为 Header 和 Body Header 中主要存储版本号、请求 ID、命令字,这里的命令字又可以称为操作码或者序列化类型等 主要是用来反查 Body 的真正类型,对于每一条消息,它们的命令字必须保证唯一性。 因此,我们可以定义协议如下 Mahjong,麻将的意思。 @Data public final class MahjongProtocol { /** * 协议头 */ private MahjongProtocolHeader header;原创 2021-07-29 11:23:07 · 22286 阅读 · 0 评论 -
java网络编程小Demo
BIOEchoServer package bio; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.ServerSocket; import java.net.Socket; /** * @author * @date 2021/7/20 19:03 */ public class BIOEchoServer { p原创 2021-07-20 20:03:14 · 22354 阅读 · 0 评论