TCPサーバーとクライアントを作ってみる


アプリ間、マシン間通信をするときにはいくつかの方法があるが、TCPによる通信はその中でも基本的なものだ。
ここでは、FlashによるTCPサーバー、TCPクライアントを公開する。

Flashも良いけど、他のプログラミング言語と連携するともっと良い。
1台のマシンで使うのも良いけど、複数マシンを連携させるとさらに良い。
高性能PCが安くなって久しいので、無理して1台のPCで処理させるよりも、複数マシンで連携させた方が安く表現力を高められる場面もある。

そんな時の通信方法の第一候補にはTCPソケットが入るはずだ。
他の言語でも実装されているし、swfでもクライアント側は作れ、AIRにすればサーバー側も作れる。

そこで、開発の時にそもそもの通信テストをしやすいように、サーバーとクライアントを作った。


まず、サーバー(ServerSocketExample.air)を立ち上げておいて、Bindしておく。その後、クライアント(SocketExampleProjector.exe)を立ち上げて、Bindすると通信が確立する。異なるPC間での通信の場合は、Address欄にサーバー側PCのIPアドレスを入れてからBindすれば良い。

なお、文字コード変換にはUTF-8を使っている。

ASのSocketに関する補足

ServerSocketを使うとTCPサーバーが、Socketを使うとTCPクライアントが作れる。
TCPサーバーはAIRでしか作れない。

サーバー/クライアント クラス AIR/swf
TCPサーバー ServerSocket AIR
TCPクライアント Socket AIR,swf

ソースファイル一式

https://github.com/umhr/TCP_SocketExamples

ちなみに、C#の場合は同じような目的では↓がいいかもしれない。
■C#、VB2005 でSocket通信
http://www.geocities.jp/hatanero/socket1.html

*Sift-JISを使っているので、本エントリーで紹介したアプリと連携させる場合には注意

Comments are closed.