Socket
@LYZY
安静的写属于自己的代码,只愿减少Bug的出现
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
游戏开发之网络篇_10 Socket总结
本文简要介绍了Socket通信的基本应用框架,涵盖异步连接、收发消息、消息编解码、Protobuf处理、大小端问题等技术点。文章着重讲解了客户端Socket实现的关键功能,同时也指出当前框架尚缺心跳机制等功能的不足,建议读者可自行扩展实现。文章旨在为Socket入门提供参考,欢迎指正讨论。原创 2020-02-06 14:05:04 · 411 阅读 · 0 评论 -
游戏开发之网络篇_09 Socket通信客户端框架搭建和使用
本文介绍了一个通用的Socket客户端网络管理框架实现。主要包含以下功能:1)通过事件监听机制处理连接成功、失败和关闭等网络事件;2)使用消息队列和协议缓冲实现高效的消息处理;3)提供线程安全的消息监听和分发机制。核心类NetManager_Pro使用C#实现,封装了Socket连接、数据收发和消息处理功能,支持异步操作和最大消息数限制。该框架可用于Unity等游戏开发场景,支持Protobuf协议,并可通过Add/Remove方法灵活注册事件和消息回调。原创 2020-02-06 13:56:52 · 275 阅读 · 0 评论 -
游戏开发之网络篇_08 Socket中数据的编码和解码
本文介绍了一个解决TCP粘包问题的方案,通过使用Protobuf序列化类(ProMsgHelp)来实现数据包的封装和解封。该类提供了编码(Encode)和解码(Decode)方法处理消息内容,以及编码(EncodeName)和解码(DecodeName)方法处理协议名。其中协议名采用"2字节长度+字符串"的格式,使用小端编码确保跨平台兼容性。该方案简化了TCP通信中的数据封装过程,避免了手动处理包头信息的繁琐操作,提高了开发效率。代码注释详细,便于理解和使用。原创 2020-02-06 13:47:02 · 392 阅读 · 0 评论 -
游戏开发之网络篇_07 Socket中收发数据内容
文章摘要: 本文介绍了一个用于网络消息收发的ByteArray类,它解决了直接使用byte数组处理消息带来的维护性问题。该类实现了消息缓冲区的动态管理,包含读取/写入位置索引、容量检查、动态扩容等功能。主要特点包括:默认1024字节初始容量、自动数据移动优化、支持基础数据类型读取(Int16/Int32)以及缓冲区状态监控。通过封装消息处理逻辑,提高了代码的可维护性,符合单一职责原则,适用于大型网络项目的开发需求。原创 2020-02-06 13:41:44 · 224 阅读 · 0 评论 -
游戏开发之网络篇_06 Socket中使用的数据类型和数据协议
本文介绍了使用Protobuf进行网络数据传输的方法。针对直接发送字符串数据的局限性,推荐采用Google的Protobuf协议来实现结构化数据交换。在Unity中,通过引入"protobuf-net"程序集,并使用Proto编译工具将.proto文件转换为.cs代码文件。文中提供了MsgMove_Pro(包含x,y,z坐标)和MsgAttack_Pro(包含描述字段)两个示例协议定义,展示了从proto文件到C#类的完整转换过程,实现了类型安全的高效网络通信。原创 2020-02-06 13:30:01 · 290 阅读 · 0 评论 -
游戏开发之网络篇_05 Socket异步发送接收数据介绍和使用
本文介绍了使用C#和Unity通过Socket实现客户端与服务器异步通信的方法。代码展示了如何建立连接、发送接收数据及处理回调:1)创建Socket对象并异步连接到服务器;2)实现连接回调开始接收数据;3)在接收回调中处理服务器返回的数据;4)提供发送方法将UTF8编码的字符串异步发送到服务器。所有网络操作均采用异步方式,包含错误处理机制,适用于实时网络应用开发。演示了完整的客户端通信流程,包括连接建立、数据收发和异常处理。原创 2020-02-06 13:13:11 · 324 阅读 · 0 评论 -
游戏开发之网络篇_04 Socket简单服务器搭建
本文介绍了使用VS控制台程序搭建本地简易服务器的方法。服务器采用同步监听连接与Poll检测机制配合,实现非阻塞服务端功能。核心代码展示了Socket监听、客户端连接处理(包括异常检测和断开处理)以及消息转发功能。服务器仅作为Demo演示基础网络通信,不包含复杂业务逻辑。该实现使用C#的Socket类,通过Poll机制轮询检测可读Socket,处理客户端连接和消息转发,并解决了粘包问题。文中提供了完整的服务端核心代码和客户端状态类实现,可作为后续博客开发的基础框架。原创 2020-02-06 12:58:39 · 632 阅读 · 0 评论 -
游戏开发之网络篇_03 Socket异步服务器连接和使用
摘要: 本文从理论转向实践,介绍异步Socket连接在Unity中的实现。作者强调商业游戏开发中异步通信的重要性,并提供了客户端异步连接服务器的C#代码示例。代码展示了如何创建Socket、发起异步连接及处理回调,成功时输出连接信息,失败时捕获异常。最后预告下一节将实现简易服务器端代码。全文以实践为导向,适合开发者快速上手网络通信编程。原创 2020-02-06 12:36:06 · 512 阅读 · 0 评论 -
游戏开发之网络篇_01 网络游戏简单介绍
本文介绍了网络游戏开发中的Socket技术应用。文章首先区分了强联网游戏(如吃鸡、MMO)和弱联网游戏的特点,指出实时性对网络游戏体验的重要性。随后通过系列教程详细讲解了Socket套接字的使用方法,包括服务器搭建、异步连接、数据收发、协议处理、编码解码等内容,最终完成客户端框架搭建,为游戏网络通信提供完整解决方案。该系列适合游戏开发者系统学习网络编程技术。原创 2020-02-06 12:17:53 · 438 阅读 · 0 评论 -
游戏开发之网络篇_02 Socket简单介绍
本文介绍了Socket通信的基本概念。Socket是网络通信的端点,包含协议、本地/远程IP和端口等信息,可类比电话通信。IP地址用于识别网络主机,端口则区分不同应用程序。TCP和UDP是主要传输协议,TCP可靠但较慢,UDP快速但不可靠。文章还探讨了TCP粘包问题,即多条数据堆积导致解析错误,并提出通过添加数据长度包头(16位或32位)的解决方案,建议游戏开发使用16位整数表示长度。全文从概念层面讲解了Socket通信的要素和常见问题。原创 2020-02-06 12:14:38 · 532 阅读 · 0 评论
分享