ホームページ >バックエンド開発 >C#.Net チュートリアル >Flex と .NET の相互運用性 (1): ソケットベースのネットワーク接続

Flex と .NET の相互運用性 (1): ソケットベースのネットワーク接続

巴扎黑
巴扎黑オリジナル
2016-12-20 15:16:091562ブラウズ

Flash/Flex はソケットベースのネットワーク接続もサポートしており、サーバー側は C++、VB、C#、Java などの任意の言語で開発できます。ネットワーク ポートをリッスンすることにより、Flash/Flex によって開発されたクライアントからの接続を受信できます。

ActionScript 3.0 は、Socket 接続を介したサーバーとの通信を提供します。これは従来のB/S構造を超える重要な機能です。これにより、ネットワーク通信を即座に接続できるようになり、HTTP プロトコルのステートレス接続の欠点が回避されます。 ActionScript 3.0 は、接続に XMLSocket クラスを使用します。 XMLSocket クラスを使用して Socket 接続を行う場合、自動的にファイアウォールを通過することはできませんので注意してください。ファイアウォールを介して接続するには、HTTP プロトコルに基づく RTMP プロトコルを使用する必要があります。

Adob​​e が提供する API ドキュメントを参照すると、XMLSocket が 4 つのパブリック メソッドを提供していることがわかります。

1. XMLSocket(host:String=null,port:int=0) -- 新しい XMLSocket オブジェクトを作成します。

2. close():void -- XMLSocket を閉じます。

3. connect(host:String,port:int):void -- 指定された TCP ポートに接続します。

4. send(object:*):void -- データを接続サーバーに送信します。

OK、これを理解した後、XMLSocket を使用してソケットベースのネットワークインスタント通信アプリケーションを開発できます。以下は、C# 経由でソケット サーバーを提供し、ポート 8888 をリッスンします。サンプル プログラムは次のとおりです。

1privatefunctionconnectionServer():void
2{

3xmlConn=newXMLSocket();

4xmlConn.connect("127.0.0.1", 8888);

5}

その後、XMLSocket インスタンス メソッド send() を介して Socket サーバーにメッセージを送信できます。次のコード定義:


1
23backgroundGradientAlphas="[1.0,1.0]"
4backgroundGradientColors="[#CDCAE6,#FFFFFF]">
5
67importmx.controls.Alert] ;
8
9privatevarxmlConn:XMLSocket;
10
11privatefunctionconnectionServer():void
12{
13xmlConn=newXMLSocket();
14xmlConn.connect("127.0.0.1",8888);
15}
16
17プライベート関数onSend(): void
18{
19xmlConn.send(txtData.text+"n");
20}
21]]>
22

23
24
25
26


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。