flash java 通信_java与Flash的Socket通讯实例教程

Flash与JAVA的Socket通信

import java.io.*;

import java.net.*;

public class AMFServer {

public void start()throws Exception{

String xml=””;

xml+=””;

xml+=””;

xml+=””;

ServerSocket serverSocket=new ServerSocket(5000);

System.out.println(“等待用户连接““““”);

while(true){

try{

Socket socket=serverSocket.accept();

System.out.println(“连接成功“““`”);

BufferedReader br=new BufferedReader(new InputStreamReader(socket.getInputStream()));

PrintWriter pw=new PrintWriter(socket.getOutputStream());

char[] by=new char[22];

br.read(by,0,22);

String head=new String(by);

System.out.println(“消息头是:”+head+”;”);

if(head.equals(“”)){

pw.write(xml+”/0″);

pw.flush();

}else{

ServerThread thread=new ServerThread(socket);

thread.start();

}

}catch(Exception e){

System.out.println(“服务器发生异常”);

}

}

}

public static void main(String[] args) {

try{

new AMFServer().start();

}catch(Exception e){

System.out.println(“Socket发生异常:”+e);

}

}

}

import java.net.Socket;

import java.io.BufferedReader;

import java.io.PrintWriter;

import java.io.InputStreamReader;

public class ServerThread extends Thread{

private Socket socket;

private BufferedReader input;

private PrintWriter output;

public ServerThread(Socket socket){

this.socket=socket;

}

public void run(){

System.out.println(“—————启动一个线程—————–”);

try{

input=new BufferedReader(new InputStreamReader(socket.getInputStream()));

output=new PrintWriter(socket.getOutputStream());

while(true){

String msg=input.readLine();

if(msg==null){

break;

}

System.out.println(“收到客户端的数据:”+msg);

output.print(“服务器返回:”+msg+”/0″);

output.flush();

}

System.out.println(“子线程结束了”);

}catch(Exception e){

System.out.println(“子线程发生异常”);

try{

input.close();

output.close();

}catch(Exception ex){

System.out.println(“关闭资源发生异常”);

}

System.out.println(“子线程结束了”);

}

}

}

package org.Eden.net {

import flash.display.Sprite;

import flash.events.DataEvent;

import flash.events.*;

import flash.net.XMLSocket;

import flash.system.Security;

import flash.system.System;

public class EdenSockets extends Sprite{

private var socket:XMLSocket;

public function EdenSockets()

{

System.useCodePage = true;

socket = new XMLSocket();

socket.addEventListener( Event.CONNECT, onConnect );

socket.addEventListener( IOErrorEvent.IO_ERROR , failConnect );

socket.addEventListener( DataEvent.DATA, onDatas );

sendBtn.addEventListener(MouseEvent.MOUSE_DOWN,sendEvent);

socket.connect(“127.0.0.1″, 5000);

}

public function onConnect(myStatus:Event):void

{

msgText.text = msgText.text + “连接成功/n”;

//立即发送成功 信息到服务器

socket.send(“/n”);

}

public function failConnect(myStatus:IOErrorEvent):void

{

msgText.text = msgText.text + “连接失败/n”;

}

public function onDatas(event:DataEvent):void

{

if(event.data != null)

{

msgText.text = msgText.text + event.data + “/n”;

}

}

public function sendEvent(event:MouseEvent):void

{

socket.send(speakText.text + “/n”);

speakText.text = “”;

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值