アプリ間、マシン間通信をするときにはいくつかの方法があるが、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を使っているので、本エントリーで紹介したアプリと連携させる場合には注意
1 Comment
[…] 先日Flashで作ったやつと同等機能のProcessing版 […]