Socket 기반 네트워크 연결 Flex 와.NET 상호작용(1)

ActionScript 3.0 은 Socket 을 통 해 연결 하 는 방식 으로 서버 측 과 통신 을 제공 합 니 다.전통 적 인 B/S 구 조 를 뛰 어 넘 는 중요 한 특징 이다.이렇게 하면 인터넷 통신 이 실시 간 으로 연결 되 어 HTTP 프로 토 콜 의 무상 태 연결 의 폐 해 를 피 할 수 있다.ActionScript 3.0 은 XMLsocket 클래스 로 연결 합 니 다.주의해 야 할 것 은 XMLsocket 류 를 사용 하여 Socket 연결 을 할 때 자동 으로 방화벽 을 통과 할 수 없다 는 것 이다.방화벽 을 뚫 고 연결 하려 면 HTTP 프로 토 콜 기반 RTMP 프로 토 콜 을 사용 해 야 한다.Adobe 가 제공 하 는 API 문 서 를 찾 아 보면 XMLsocket 은 네 가지 공개 방법 을 제공 합 니 다.XMLsocket(host:String=null,port:int=0)--새로운 XMLsocket 대상 을 만 듭 니 다.close():void-XMLsocket 을 닫 습 니 다.connect(host:String,port:int):void-지정 한 TCP 포트 에 연결 합 니 다.,send(object:*):void-연결 서버 에 데 이 터 를 보 냅 니 다.OK,이 를 알 고 나 면 우 리 는 XMLsocket 으로 Socket 기반 의 네트워크 적시에 통신 응용 을 개발 할 수 있 습 니 다.다음은 C\#를 통 해 Socket 서버 를 제공 하고 8888 포트 를 감청 합 니 다.예제 프로그램 은 다음 과 같다.본 고 에서 소개 한 바 와 같이 ActionScript 3.0 은 Socket 기반 의 네트워크 연결 류 XMLsocket 을 제공 합 니 다.우 리 는 이 를 직접 사용 하여 Socket 기반 의 네트워크 통신 을 개발 할 수 있 습 니 다.다음은 ActionScript 3.0 에서 제공 하 는 XMLsocket 과 의 네트워크 연결 을 만 듭 니 다
 
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net.Sockets;
using System.IO;

namespace FlashFlexDotNet
{
class Program
{
static void Main(string[] args)
{
TcpListener listener;

try
{
listener = new TcpListener(8888);
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
return;
}

listener.Start();
Console.WriteLine(" , .");
bool loop = true;

while (loop)
{
Socket s = listener.AcceptSocket();
NetworkStream ns = new NetworkStream(s);
StreamReader reader = new StreamReader(ns);
string result = string.Empty;
try
{
result = reader.ReadLine();
Console.WriteLine(result);
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}
}
}
}
그 다음 에 XMLsocket 의 인 스 턴 스 방법 send()를 통 해 Socket 서버 에 메 시 지 를 보 낼 수 있 습 니 다.다음 코드 정의:

private function connectionServer():void
{
xmlConn = new XMLSocket();
xmlConn.connect("127.0.0.1",8888);
}
클 라 이언 트 전체 코드:

private function onSend():void
{
xmlConn.send(txtData.text + "
");
}
다음 과 같이 본 고의 예시 프로그램 테스트 결과 그림:

좋은 웹페이지 즐겨찾기