Socket可以传对象吗?

level1979 2005-01-26 11:45:44
我想实现下面的功能:
Sock类用来控制数据的读入和输出;
Msg类判断读入的信息是那个指令;
Action类,所有指令的父类,所有指令对象继承自Action类;
伪码如下:
Msg(Action act)
{
act.do();
}
我想用Sock读入数据(包括指令),用Action.do(),来抽象出各个指令对象的具体动作,要如何做呢?哪里有相关的资料吗?
能给出从new Socket()到act.do()的大致过程吗?
...全文
273 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
level1979 2005-02-22
  • 打赏
  • 举报
回复
谢谢大家的帮助,结贴了
chotstone 2005-02-19
  • 打赏
  • 举报
回复
如果不打算用JAVA写客户端,可以用ericsion的方法
不过建立类:
DataInputStream:用于从SOCKET读入
DataOutputStream:用于输入数据到SOCKET
因为他readInt,readChar等可以直接读入相应类型的值到相应类型的变量,输出也一样
你可以直接看JAVA的文档
level1979 2005-02-18
  • 打赏
  • 举报
回复
没人做过类似的项目?
level1979 2005-02-01
  • 打赏
  • 举报
回复
to ericsion:
我想在客户端使用c/c++,但是从来没有使用过你所说的方法,不知道能否介绍几个可以参考学习的网站、代码或书籍呢?
yangxiao_jiang 2005-01-29
  • 打赏
  • 举报
回复
序列化对象,这个是正解。
RomandAccessFile 2005-01-29
  • 打赏
  • 举报
回复
楼上的,去Sun的站点上看一下吧,这样的代码有好多,还有在线的视屏
ericsion 2005-01-29
  • 打赏
  • 举报
回复
如果你不打算使用JAVA编写客户端,我建议你还是使用
InputStream out = socket.getOutputStream;
out.write(bytes);
可以试图将对象得属性传递过去,首先需要编写一些基础得方法,比如IntToByte(),StringToBytes()等等,然后使用System.out.arrayCopy组装一个大得byte数组,在Client端再从数组中读取相关信息.我们得消息通信就是这样作得.所以服务器可以使用java,客户端可以使用任何支持Socket的语言.
myth822 2005-01-28
  • 打赏
  • 举报
回复
要传对象直接用rmi就行了
sqlink 2005-01-28
  • 打赏
  • 举报
回复
可以,用CORBA或web service
EckelVon 2005-01-28
  • 打赏
  • 举报
回复
能否有代码借鉴呢,谢谢!
iamok 2005-01-28
  • 打赏
  • 举报
回复
搬个小板凳学习
loucai 2005-01-28
  • 打赏
  • 举报
回复
mark
level1979 2005-01-27
  • 打赏
  • 举报
回复
那请问如果client不用java实现可以吗?要如何做呢?
homeland520 2005-01-27
  • 打赏
  • 举报
回复
序列化对象
RomandAccessFile 2005-01-27
  • 打赏
  • 举报
回复
可以,,
我用过,,
给你一个思路,
在服务器端和客户端都建立一个类,该类最好实现Serializable接口,
利用Socket的通讯(这里我想楼主知道),得到InputStream或OutPutStream
利用InputStream或OutputStream购造ObjectInputStream或ObjectOutputStream
然后利用Object ~~~的WriteObject或ReadObect方法,但注意读的时候要强制转换
然后就一切Ok了

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧