亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 2454 | 回復(fù): 0
打印 上一主題 下一主題

使用java的xmlsocket和客戶端傳遞xml文件的問題 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2007-11-16 05:29 |只看該作者 |倒序瀏覽
我嘗試做java和flash通過xmlsocket進(jìn)行xml文件的通訊,下邊是我的一個測試程序,發(fā)現(xiàn)xml文件不能正常的被socket傳遞到客戶端.我又使用了另外一種方法,第二種方法前半部分和下邊的程序一樣,都是生成scoket,進(jìn)行數(shù)據(jù)查詢,進(jìn)行xml的Dom對象的封裝,然后將Dom對象生產(chǎn)本地的xml文件,將xml文件轉(zhuǎn)化為字節(jié)流進(jìn)行傳輸,就是普通的java字符流的傳輸方法,第二種方法考慮到在本地生產(chǎn)xml是沒有必要的操作,所以應(yīng)該不是最優(yōu)的方法。
第一種方法直接傳遞dom對象是否可行?期盼牛哥們指點!:wink:

package cn.talk.xmlsocket;

import java.io.*;
import java.net.*;
import java.sql.ResultSet;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;


import org.w3c.dom.Document;
import org.w3c.dom.Element;

public class TalkServer
{
        public static void main(String args[])
        {
                try
                {
                        ServerSocket server=null;
                        try
                        {
                                server=new ServerSocket(4800);
                        }
                        catch(Exception e)
                        {
                                System.out.println("can not listen to :"+e);
                        }
                        Socket socket=null;
                        try
                        {
                                socket=server.accept();
                        }
                        catch(Exception e)
                        {
                                System.out.println("Error:"+e);
                        }
                        和客戶端的flash程序建立socket
               
                        String line;
                        DataOutputStream out=new DataOutputStream(socket.getOutputStream());
                        BufferedReader is=new BufferedReader(new InputStreamReader(socket.getInputStream()));
                       
                        System.out.println("Client:"+is.readLine());//從客戶flash端得到xml的內(nèi)容
                       

                        Db dbServer=new Db();//建立數(shù)據(jù)庫連接
                        ResultSet rs=null;
                       
                        Element gloriad;//建立xml對象
                        DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance();
                        DocumentBuilder db=dbf.newDocumentBuilder();
                        Document doc=db.newDocument();
                        global=doc.createElement("global";
                        try{
                                rs=dbServer.query("select * from node";
                                if(rs.next())
                                {
                                        gloriad.appendChild(doc.createTextNode(rs.getString("node_des"));
                                }
                                doc.appendChild(global);
                        rs.close();
                        }catch(Exception e){
                                System.out.println("db error";
                        }finally{
                                dbServer.closeConnect();
                        };
                       
                        try{
                                TransformerFactory tf=TransformerFactory.newInstance();
                                Transformer transformer=tf.newTransformer();
                                //transformer.transform(new DOMSource(doc),new StreamResult("test.xml");在本地生成xml文件,成功
                                transformer.transform(new DOMSource(doc),new StreamResult(out));//將xml文件傳遞到客戶的flash端,出現(xiàn)錯誤
                        }catch(Exception e){
                                System.out.println("test Error:"+e);
                        }
                        is.close();
                       
                        os.close();
                        socket.close();
                        server.close();
                        System.out.println("close the socket by server";
                }
                catch(Exception e)
                {
                System.out.println("Error:"+e);
                }
        }
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP