as3与java的socket通信实例1

java代码(需要xsocket 下面有下载):

test.java(主文件)

package test;

import org.xsocket.connection.*;
public class test {

 protected static IServer srv = null;
 public static void main(String[] args) {
  try{
   srv = new Server(8090,new xSocketDataHandler());
   srv.run();
  }catch(Exception ex){
   System.out.println(ex.getMessage());
  }
 }
 
 protected static void shutdownServer() {
  try{
   srv.close();
  }catch(Exception ex){
   System.out.println(ex.getMessage());
  }
 }

}

xSocketDataHandler.java文件

package test;

import java.io.IOException;
import java.nio.BufferUnderflowException;
import java.nio.channels.ClosedChannelException;

import org.xsocket.MaxReadSizeExceededException;
import org.xsocket.connection.IDataHandler;
import org.xsocket.connection.INonBlockingConnection;

public class xSocketDataHandler implements IDataHandler {

 @Override
 public boolean onData(INonBlockingConnection nbc) throws IOException,
   BufferUnderflowException, ClosedChannelException,
   MaxReadSizeExceededException {
  try{
   String data = nbc.readStringByDelimiter("\0");
   nbc.write(data + "\0");
   if(data.equalsIgnoreCase("SHUTDOWN"))
   {
    test.shutdownServer();
   }
  }catch(Exception ex){
   System.out.println(ex.getMessage());
  }
  return true;
 }

}


as3.0代码

package  {
	import flash.display.Sprite;
	import flash.net.XMLSocket;
	import flash.events.DataEvent;
	import flashx.textLayout.events.DamageEvent;
	
	public class mysocket extends Sprite {

		public function mysocket() {
			var xmlSocket:XMLSocket = new XMLSocket();
			xmlSocket.connect("192.168.0.101",8090);
			xmlSocket.addEventListener(DataEvent.DATA,onIncomingData);
			xmlSocket.send("Hello World");
			xmlSocket.send("SHUTDOWN");
		}
		
		function onIncomingData(event:DataEvent):void{
			trace("["+event.type+"]"+event.data);
		}

	}
	
}



你可能感兴趣的:(java,socket,通信,as3,xsocket)