<code>
<?xml version="1.0" encoding="utf-8"?>
<s:WindowedApplication xmlns:fx=" http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
width="590" height="401">
<fx:Declarations>
<!-- 将非可视元素(例如服务、值对象)放在此处 -->
</fx:Declarations>
<fx:Script>
<![CDATA[
import flash.display.Sprite;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.events.ProgressEvent;
import flash.events.ServerSocketConnectEvent;
import flash.net.ServerSocket;
import flash.net.Socket;
import flash.utils.ByteArray;
//import flash.net.ServerSocket
private var serverSocket:ServerSocket = new ServerSocket();
private var clientSocket:Socket=new Socket();
private function bind():void
{
if( serverSocket.bound)
{
serverSocket.close();
serverSocket = new ServerSocket();
}
serverSocket.bind(8080,"192.168.0.1");
//trace("Login......");
// MessageArea.appendText( "Bound to: " + serverSocket.localAddress + ":" + serverSocket.localPort );
serverSocket.addEventListener(ServerSocketConnectEvent.CONNECT,onCon);
serverSocket.listen();
}
private function onCon(E:ServerSocketConnectEvent):void
{ trace("connected");
clientSocket=E.socket;
clientSocket.addEventListener(ProgressEvent.SOCKET_DATA,onClientData);
MessageArea.appendText( "Connection from " + clientSocket.remoteAddress + ":" + clientSocket.remotePort );
SendBtn.addEventListener(MouseEvent.CLICK,send);
}
private function send(e:MouseEvent):void
{
try
{
if( clientSocket != null && clientSocket.connected )
{
clientSocket.writeUTF( MesInput.text );
clientSocket.flush();
MessageArea.appendText("FromSever:"+MesInput.text+"\n");
// MessageArea.appendText( "Sent message to " + clientSocket.remoteAddress + ":" + clientSocket.remotePort );
}
else {
MessageArea.appendText("No socket connection.");
}
}
catch ( error:Error )
{
MessageArea.appendText( error.message );
}
}
private function onClientData(e:ProgressEvent):void
{
MessageArea.appendText("FromClient:"+clientSocket.readUTF()+"\n");
}
]]>
</fx:Script>
<s:Panel x="14" y="10" width="563" height="364" title="LocalSever">
<s:Label x="55" y="43" width="124" height="23" fontSize="18" fontWeight="bold"
text="PortNumber:"/>
<s:Label x="67" y="77" width="107" height="23" fontSize="19" fontWeight="bold" text="IPNumber:"/>
<s:TextInput id="PortInput" x="188" y="42" width="292"/>
<s:TextInput id="IpInput" x="187" y="78" width="293" prompt="IpNumber"/>
<s:Button id="SendBtn" x="379" y="289" label="SendMessage"/>
<s:TextInput id="MesInput" x="67" y="288" width="293"/>
<s:TextArea id="MessageArea" x="67" y="139" width="413" height="122"/>
<s:Button id="LoginBtn" x="405" y="105" label="Login" click="bind()"/>
</s:Panel>
</s:WindowedApplication>
浙公网安备 33010602011771号