flex socket java,Flex的socket与java使用amf3进行通信
amf3,adobe創立的數據格式由于使用二進制,沒有了xml等冗余的字符數據量會少很多!而且很多測試報告均測出amf傳遞效果很高.
這次是使用Flex的Socket類與java的服務端進行通信,
步驟是:
客戶端用socket類連接java服務器,
使用查詢字符串進行請求,
java將數據封裝為hashmap,最后將hashmap用amfoutputstream輸出至flex的客戶端
flex對數據進行解碼后,即為Object!
以下為詳細的代碼(呵呵,留個網絡比較)
1.先倒入adobe的包到java的工程中!
flex-messaging-core.jar
flex-messaging-common.jar
2.建立好java的socket服務器
包結構: com.sk.socket
package com.sk.socket;
import java.io.IOException;
import java.io.PrintStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Scanner;
import com.sk.amf.AmfTool;
public class AmfSocket {
private ServerSocket socket;
private Socket client;
private Scanner in;
private PrintStream out;
private AmfTool tool = new AmfTool();
public AmfSocket(int port) throws IOException {
socket = new ServerSocket(port);
}
public void start() throws IOException{
System.out.println("Amf服務器已啟動");
while (true) {
client = socket.accept();
in = new Scanner(client.getInputStream());
out = new PrintStream(client.getOutputStream());
boolean done = false;
while (!done) {
if (in.hasNextLine()) {
String line = in.nextLine();
if (line.trim().toLowerCase().equals("exit")) {
done = true;
} else {
out();
}
} else {
done = true;
}
}
if(done){
client.close();
}
}
}
private void out() {
HashMap
總結
以上是生活随笔為你收集整理的flex socket java,Flex的socket与java使用amf3进行通信的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java 对象数据 搜索,java –
- 下一篇: java 实例化 bean,Spring