社区
Java EE
帖子详情
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
打赏
收藏
Socket可以传对象吗?
我想实现下面的功能: Sock类用来控制数据的读入和输出; Msg类判断读入的信息是那个指令; Action类,所有指令的父类,所有指令对象继承自Action类; 伪码如下: Msg(Action act) { act.do(); } 我想用Sock读入数据(包括指令),用Action.do(),来抽象出各个指令对象的具体动作,要如何做呢?哪里有相关的资料吗? 能给出从new Socket()到act.do()的大致过程吗?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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了
C#
socket
传
输
对象
socket
传
输
对象
可以是用序列化和反序列化, clinet: 把
对象
变用BinaryFormatter
对象
的Serialize()序列化为MemoryStream 类的stream 然后用stream.ToArray()变为byte[], 然后通过
socket
传
过去 server: 接收byte[], 然后用BinaryWriter类,写入stream 然后为了避
android中AMS通知Zygote去fork进程为什么使用
socket
而不使用binder?
android中AMS通知Zygote去fork进程为什么使用
socket
而不使用binder? 通过综合各种文章的原理描述,加之源码的阅读以及实际的尝试,得出一个目前最为准确的答案。 本篇文章中给出的答案,一定和你看到的任何一个版本都不一样。.........
C#
socket
传
输自定义
对象
之前研究过自定义
对象
的
socket
传
输,当时认识太浅了,实在是无法理解,现在重新研究了一次,调试通过,仅作为记录笔记。 C#中,目前我所知道的序列化与反序列化有两种,当然有更多,但是我还没有去认识。 这两种序列化方式分为: System.Runtime.Serialization.Formatters.Binary空间下的BinaryFormatter。System.Runtime.
利用
socket
传
输
对象
一、创建用户类User; package
socket
; import java.io.Serializable; /** * 用户类 */ public class User implements Serializable { /** * */ private static final long serialVersionUID = 7965470946723147485
socket
传
输类
对象
来源: http://blog.csdn.net/xhwjc2008/article/details/7905011
socket
中的send函数可以
传
输char*类型的
对象
,如果需要
传
输类
对象
的话,可以使用CArchive和CMemfile结合的方式来
传
输。 1.建立CObject类,CObject类或其字类是支持序列化的; 2.先将类通过CArchive和CMemfile序列化成
Java EE
67,513
社区成员
225,879
社区内容
发帖
与我相关
我的任务
Java EE
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
复制链接
扫一扫
分享
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章