Flex与XMLSocket与net交互
using System;
using System.Net.Sockets;
using System.IO;
using System.Net;
namespace FlexSocket
{
class Program
{
static void Main(string[] args)<!–more–>
{
TcpListener listener=null;
try
{
Int32 port=8888;
IPAddress localAddr=IPAddress.Parse("127.0.0.1");
listener=new TcpListener(localAddr,port);
//listener = new TcpListener(8888);//不能直接用此定义结果0.0.0.0:8888 ,环境vs2008其他为测试过
}
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);
}
}
}
}
}
客户端flex
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" backgroundGradientAlphas="[1.0, 1.0]"
backgroundGradientColors="[#CDCAE6, #FFFFFF]">
<mx:Script>
<![CDATA[
import mx.controls.Alert;
//import flash.net.Socket;
// private var xmlConn:Socket;
import flash.net.XMLSocket;
private var xmlConn:XMLSocket;
private function connectionServer():void
{
//xmlConn=new Socket();
xmlConn =new XMLSocket(); // new XMLSocket();
xmlConn.connect("127.0.0.1",8888);
xmlConn.addEventListener(Event.CONNECT,funConnect);
//监听是否连接上服务器
xmlConn.addEventListener(Event.CLOSE,funClose);
//监听服务器是否关闭
}
private function onSend():void
{
xmlConn.send(txtData.text + "\n");//如果sock无此连接
}
private function funConnect(event:Event):void{
txtData.text+="已经成功连接到服务器!\n";
}
private function funClose(event:Event):void{
txtData.text+="和服务器断开!\n"
}
]]>
</mx:Script>
<mx:TextArea x="43" y="34" height="120" width="263" id="txtData"/>
<mx:Button x="93" y="180" label="连 接" f click="connectionServer()"/>
<mx:Button x="190" y="180" label="发 送" f click="onSend()"/>
</mx:Application>
原创文章转载请注明出处:云飞扬IT的blog





