当前位置:  技术问答>java相关

如何在CS通讯下传递对象,高分求解

    来源: 互联网  发布时间:2015-05-08

    本文导语:  我要在client-server通讯方式下,传递一个对象,不知道怎么写代码…… 例如如果只是文本传递的话只要如下写:          BufferedReader in = new BufferedReader             (new InputStreamReader(socket.getInputStream()));  ...

我要在client-server通讯方式下,传递一个对象,不知道怎么写代码……
例如如果只是文本传递的话只要如下写:
         BufferedReader in = new BufferedReader
            (new InputStreamReader(socket.getInputStream()));
         PrintWriter out = new PrintWriter
            (socket.getOutputStream(), true /* autoFlush */);
摘自java核心技术第二卷,ThreadedEchoServer.java
那么如果我要传递和读取的是一个对象实例的话应该怎么改呢?
请大家帮忙,谢谢……

|
你传的是什么对象。我测试传一个Vector,可以。

客户端:


import java.io.*;
import java.net.*;
import java.util.Vector;

public class TestSocketClient
{
  Socket       mSocket = null;
  DataInputStream   dis = null;
  DataOutputStream  dos = null;
  Vector mVector = new Vector(5,1);
  public TestSocketClient(String [] args)
  {
     mVector.addElement("aa");
     mVector.addElement("bb");
     try
     {
       mSocket = new Socket("192.188.0.5",9009);

       dos = new DataOutputStream(mSocket.getOutputStream());
       ObjectOutputStream oos = new ObjectOutputStream(dos);
       oos.writeObject(mVector);
     }
     catch(Exception eSocket)
     {
     }
  }

   public static void main(String [] args)
  {

    new TestSocketClient(args);
  }
}

|
http://www-900.ibm.com/developerWorks/index.shtml
上面有讲述怎样利用TCP/IP来传递对象。
GOOD LUCK!

|
YourObject yourObj = ...;

ObjectOutputStream oos = new ObjectOutputStream(socket.getOutputStream());
oos.writeObject(yourObj);

ObjectInputStream ois = new ObjectInputStream(socket.getInputStream());

YourOubject obj = (YourObject)ois.readObject();
ois.close();


YourObject必须implements java.io.Serializable 或 java.io.Externalizable

|
理论上只要implements Serializable就可以用socket的。
不知道你说的不可以是什么不可以?
传不过去?还是别的。你的server端代码是否已经执行监听?端口设置正确否? 
kkhui(jacky)没有问题的。关于使用socket在cs模式下传递对象实例我自己写程序试过,传递一个文件到server端,绝对没有问题,检查你的程序吧。

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Android访问与手机通讯相关类的介绍
  • 请教,进程通讯问题,除了父子进程能进行通讯外,任意两个进程都可以吗?
  • 网络通讯中,关于多机通讯的问题
  • 请问rmi通讯和socket通讯有什么优劣和异同?
  • 在虚拟Linux系统下能进行串口通讯吗?最好给个串口通讯的代码!谢谢!
  • 通讯录管理系统 ConTagged
  • UNIX Domain Socket通讯是否要求主机上要有网卡?
  • 求教进程通讯解决方案
  • 企业即时通讯系统 ExtremeTalk
  • Web即时通讯客户端 iJab
  • 即时通讯工具 Adium
  • Linux语音通讯软件 Twinkle
  • 即时通讯工具 RetroShare
  • 关于socket 通讯问题,请进。。。
  • WINDOWS 和 LINUX通讯
  • 手机即时通讯 Lampiro
  • 灵活的通讯框架 Telepathy
  • 送上100分问题请教,同时学习一下进程通讯问题,望各位不吝赐教
  • linux下怎样实现进程间的通讯,急用啊 !!!!!!!!!!!
  • 企业内部即时通讯工具 Pandion
  • 路由器通讯开发包 librouteros


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3