flash同java网络通讯----了解scoket (一)

Scoket通信属于网络底层通信 ,它是网络编程中最常用的概念和工具。在TCP/IP网络中 ,由于使用Scoket,能够在网络中处理复杂数据 ,所以在各种网络应用程序中 ,涉及到数据传送和接收 ,一般都会使用Scoket。

 

大家都知道flash scoket 通讯会用到843安全端口,以下是一个简单的例子,传统方法。

1.java端:

import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.io.UnsupportedEncodingException; import java.net.ServerSocket; import java.net.Socket;

/**  * 游戏843安全端口服务器,用来处理flash socket访问权限请求  * @author hxc  * */ public class Server843 extends Thread {  private static ServerSocket server;//  static final int BINDPORT = 843;//安全端口  private static boolean en = true;

 public void run() {   try {    server = new ServerSocket(BINDPORT);//建立一个服务端   } catch (IOException e) {    e.printStackTrace();   }

  while (en) {    Socket socket;    try {     socket = server.accept();//等待连接请求     new MyThread(socket).start();//处理连接请求    } catch (IOException e) {     e.printStackTrace();    }   }  }

 class MyThread extends Thread {

  private Socket socket;

  public MyThread(Socket socket) {    this.socket = socket;   }

  public void run() {

   String xml = "<cross-domain-policy>"      + "<allow-access-from domain=\"*\" to-ports=\"*\"/>"      + "</cross-domain-policy>";    try {     BufferedReader br = new BufferedReader(new InputStreamReader(       socket.getInputStream(), "utf8"));     PrintWriter pw = new PrintWriter(socket.getOutputStream(), true);     char[] by = new char[22];     br.read(by, 0, 22);//等待对方请求策略文件权限     String head = new String(by);     if (head.equals("<policy-file-request/>")) {//请求的连接内容是策略文件权限      pw.print(xml + "\0");      pw.flush();      socket.close();     }    } catch (UnsupportedEncodingException e) {     e.printStackTrace();    } catch (IOException e) {     e.printStackTrace();    }   }  }       public static void main(String args[]){      new Server843().run();     } }

 

flash as端很简单就不写了。

 

下一篇将会学习使用Mina。



 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值