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 = ""; } } }
flash java socket_java与Flash的Socket通讯
本文介绍了一段使用Java与Flash的AMF Server进行Socket通信的示例代码,展示了如何在服务器端处理连接请求,解析消息头并响应客户端。通过创建ServerThread线程处理客户端数据,实现实时双向通信。
摘要由CSDN通过智能技术生成