`

Flash与JAVA的Socket通信

    博客分类:
  • java
阅读更多
Flash与JAVA的Socket通信

import java.io.*;
import java.net.*;
public class AMFServer {
public void start()throws Exception{
  String xml="<cross-domain-policy>";
  xml+="<allow-access-from domain=\"127.0.0.1\"to-ports=\"5000,8000\">";
  xml+="<allow-access-from domain=\"localhost\"to-ports=\"5000,8000\">";
  xml+="</cross-domain-policy>";
 
  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("<policy-file-request/>")){
     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("<policy-file-xxquest/>\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 = "";
  }
}

}

分享到:
评论
1 楼 jxjjymx 2009-11-05  
你好  我想看flash和java通讯这块
请问开始两个是放到后缀名为java的文件中吧
那最后那个呢?
最后那段代码怎么放。
谢谢

相关推荐

    Flex与Java Socket通信

    Flex与Java Socket通信是Web应用程序开发中的一个重要技术,它允许客户端和服务器之间进行实时、双向的数据交换。在本文中,我们将深入探讨如何实现Flex客户端与Java服务器之间的Socket通信。 首先,确保你拥有以下...

    flash as3/java socket 聊天室

    - **FlashScoket.java**:这可能是Java服务器端的源代码文件,实现了Socket通信逻辑,处理客户端连接和数据交换。 总结来说,"flash as3/java soket 聊天室"是一个使用AS3作为前端和Java Socket作为后端的实时通信...

    flex+java+tomcat实现socket通信及安全策略

    2.重点解决安全策略问题:将flash发布为html格式后,本地访问页面后,一般可以与服务器进行socket通信;但是部署到tomcat服务器上后无法通信,这是因为flex安全策略引起的;需要在java服务端开通843权限策略,具体看...

    flash+java通信例子

    3. **Socket通信**:如果需要进行低级别的双向通信,Flash和Java可以通过TCP或UDP套接字进行直接通信。但这需要在服务器端开放特定的端口,并处理跨域安全问题。 4. **AMF(Action Message Format)**:这是一种二...

    FLEX与JAVA通过SOCKET通信

    标题 "FLEX与JAVA通过SOCKET通信" 涉及的是在客户端与服务器之间使用FLEX(Adobe Flex)和JAVA进行Socket通信的技术。Flex是一种开源的、基于MXML和ActionScript的开发框架,用于构建富互联网应用程序(RIA)。Java...

    AS与java socket通讯解决安全沙箱

    在这个场景中,我们关注的是ActionScript(AS)与Java之间的Socket通信,以及如何在面临安全沙箱限制时找到解决方案。Socket编程是实现客户端-服务器通信的基础,它允许两个或多个应用程序通过网络交换数据。 首先...

    flash XMLSocket java 通信(采用服务器推技术 解决了乱码 )

    在IT行业中,跨平台通信是常见的需求,而Flash与Java之间的通信就提供了一种解决方案。本文将深入探讨如何使用XMLSocket在Flash与Java之间进行高效、稳定的数据交换,并且特别关注如何解决在通信过程中可能出现的...

    Flex和java的socket通信

    ### Flex和Java的Socket通信详解 #### 一、引言 在互联网应用开发中,不同技术栈之间的通信是非常重要的一个环节。本篇文章将详细介绍如何利用...希望本文能够帮助您更好地理解和掌握Flex与Java的Socket通信技术。

    flex与java采用socket方式通信

    在Flex与Java之间,Socket通信提供了低级别的网络连接,使得前端能够实时地发送和接收数据。 以下是关于Flex与Java Socket通信的一些关键知识点: 1. **Socket API**:Java的Socket类和ServerSocket类是实现TCP/IP...

    java和as3 socket通信 解决安全沙箱问题

    本篇文章将探讨如何解决AS3中的安全沙箱问题,以便与Java后台进行顺畅的Socket通信。 首先,我们需要了解AS3的安全沙箱模型。AS3的沙箱分为三类:本地信任的沙箱(Local-with-Files)、网络沙箱(Network)和本地...

    Flex_AS3与Java的Socket通信

    在本文中,我们将深入探讨Flex AS3与Java的Socket通信技术,这是一种允许Web应用程序(如Flash游戏)与服务器进行低级数据传输的方法。Flex AS3是Adobe开发的ActionScript 3.0编程语言的一个框架,它提供了丰富的...

    java socket amf3 flash game framework

    在Flash游戏框架中,Java Socket被用来建立和维护客户端与服务器之间的连接,保证数据的可靠传输。通过Socket,服务器可以处理来自多个客户端的并发请求,实现多玩家在线游戏的同步。 安全沙箱是Flash Player为防止...

    Java Socket多人聊天室

    Socket通信的基本步骤是:服务器创建监听Socket,等待客户端连接;客户端创建Socket并连接到服务器;双方建立连接后,通过输入输出流进行数据交换。 二、C/S架构 C/S架构是一种常见的软件架构模式,由客户端和...

    FLASH与JAVA的交互

    - **Socket通信**:Flash和Java可以通过TCP或UDP套接字进行网络通信,建立客户端-服务器模型。这种方式不受浏览器限制,但需要服务器端支持。 - **XMLSocket**:Flash Player支持XMLSocket类,用于实现双向、实时...

    java与flash通信.pdf

    文档中提到的Socket通信是Java与Flash通信的一种方式。Socket是一种网络通信的端点,允许两台计算机之间进行双向数据交换。在Java中,可以通过创建ServerSocket和Socket类来实现服务器和客户端的通信。ServerSocket...

    flex与java通信

    Socket通信是一种低级别的网络通信机制,允许应用程序之间直接建立TCP/IP连接,进行高效的数据传输。 以下是Flex与Java通信的关键知识点: 1. **ActionScript与Java的交互**:在Flex中,通常使用AMF(Action ...

    java与flash通信.docx

    本文将重点讨论如何使用Java作为中间桥梁,通过Socket通信来实现Flash与Java之间的数据传输。 Java端实现了一个简单的单线程服务器,它监听特定的端口(例如10086),并等待来自Flash客户端的连接。服务器的核心...

Global site tag (gtag.js) - Google Analytics