Seiji Sogabe authored on 7 Nov 2014
client Fixed package name for camel-netty in log4j.xml 2 years ago
core removed unused code 2 years ago
images First commit 2 years ago
server Fixed package name for camel-netty in log4j.xml 2 years ago
.gitignore First commit 2 years ago
README.md First commit 2 years ago
pom.xml First commit 2 years ago
README.md

Netty UDP Binary Example

概要

クライアント ⇔ サーバ間で、以下の電文をバイナリ形式でUDPで送受信します。

通信電文

クライアント ⇒ サーバ

電文長は不定です。


    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |              Ver              |         Message ID            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Option Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Option Value | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  • Ver : 電文のバージョン。 short 16bit
  • Message ID : メッセージID。 short 16bit
  • Option Length : Option Valueのサイズ。 int 32bit
  • Option Value : オプション値。String(UTF-8) 任意のサイズ

サーバ ⇒ クライアント

電文長は4byte(32bit)固定です。


    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                              Code                             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  • Code : レスポンスコード。int 32bit

ルーティングイメージ

ルーティングイメージ

実行方法

ソースを取得する

$git clone http://gitbucket.buildria.com/git/sogabe/netty-udp-binary.git

ビルド

$cd netty-udp-binary
$mvn install

サーバ実行

$cd server
$mvn camel:run

クライアント実行

$cd client
$mvn camel:run