目录 整体结构说明 protobuf2文件 golang客户端 目录结构 生成pb.go文件 main.go util.go java服务端 目录结构 pom.xml application.yml NettyConfig.java 生成Helloworld.java SocketServerHandler.java NettyServerListener.java Application.java 测试 因为设备的通信协议准备采用protobuf,所以准备这篇protobuf的使用入门,gol…
1.TCP编程的客户端一般步骤: 1.创建一个socket,用函数socket(): 2.设置socket属性,用函数setsockopt():* 可选: 3.绑定IP地址.端口等信息到socket上,用函数bind():* 可选: 4.设置要连接的对方的IP地址和端口等属性: 5.连接服务器,用函数connect(): 6.收发数据,用函数send()和recv(),或者read()和write(): 7.关闭网络连接: 2.TCP编程的服务器端一般步骤: 1.创建一个socket,用函数so…
关于JAVA和C#加解密通讯的话,可以用这个BouncyCastle插件,会帮助你解决很多问题 http://www.bouncycastle.org/ //c#使用java给的公钥进行rsa加密 public static byte[] RSAEncrypt(string publickey, string content) { RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(); byte[] publicKeyByte…
昨天学习了UDP协议通信,然后就想着做一个基于UDP的多客户端通信(一对多),但是半天没做出来,今天早上在参考了很多代码以后,修改了自己的代码,然后运行成功,在这里分享以下代码,也说一下自己的认识误区: 代码如下: //最核心的部分是在服务器端的线程部分 package net; import java.io.IOException; import java.net.DatagramPacket; import java.net.DatagramSocket; public class UdpS…
本文的第一部分将介绍protobuf使用基础以及如何利用protobuf设计通信协议.第二部分会给出smss项目的协议设计规范和源码讲解. 一.Protobuf使用基础 什么是protobuf protobuf是谷歌研发的一种数据序列化和存储技术.主要可以用来解决网络通讯中异构系统的通讯和数据持久化,与同类技术相比(JSON或XML),官方宣称的数据量长度减少3~10倍,运算速度20~100倍.由于与平台无关,因此非常适合使用在多系统的交互中. 目前常见的使用版本是2和3,个人推荐如果你打算在项…
UDP是一种不可靠的协议,它在通信两端各建立一个socket,这两个socket不会建立持久的通信连接,只会单方面向对方发送数据,不检查发送结果. java中基于UDP协议的通信使用DatagramSocket类的receive和send方法即可,但消息需要通过一个特定的类封装(DatagramPacket) 下面是一个基于UDP协议的通信的例子, 服务器端, package udp; import java.io.IOException; import java.net.DatagramPac…
Protobuf协议,全称:Protocol Buffer 它跟JSON,XML一样,是一个规定好的数据传播格式.不过,它的序列化和反序列化的效率太变态了…… 来看看几张图你就知道它有多变态. Protobuf的Java实例 一. 安装Protobuf 去Protobuf的GitHub下载,解压. 如果你是Windows环境,则还要下载多一个东西.protobuf-2.5.0-windows.zip. 解压protobuf-2.5.0-windows.zip,把protoc.exe放在Proto…
Protobuf协议,全称:Protocol Buffer 它跟JSON,XML一样,是一个规定好的数据传播格式.不过,它的序列化和反序列化的效率太变态了…… 来看看几张图你就知道它有多变态.  protobuf 协议 操作步骤: 定义protobuf 文件,并使用protoc.exe 编译 为java文件. protoc.exe 下载地址 https://github.com/google/protobuf/releases 下载protoc-3.6.0-win32.zip 新建maven项目…
保姆级别的RabbitMQ教程!一看就懂!(有安装教程,送安装需要的依赖包,送Java.Golang两种客户端教学Case)   目录 什么是AMQP 和 JMS? 常见的MQ产品 安装RabbitMQ 启动RabbitMQ 什么是Authentication(认证) 指定RabbitMQ的启动配置文件 如何让guest用户远程登陆RabbitMQ 管理用户和权限 RabbitMQ中的概念 什么是virtual host 创建virtual host 并指定用户可以使用它 RabbitMQ的五种…
1. 下载protobuf https://code.google.com/p/protobuf/downloads/list Protocol Buffers 2.5.0 full source -- C++, Java, Python      -> 代码 2.在VS2005下,创建两个新的工程,分别命名为server和client,每个工程都需要引用protobuf的文件 添加protobuf文件操作:右击项目 -> 属性 -> 配置属性 -> C/C++ -> 常规 …