wild84 2017-03-14 11:17 采纳率: 81.8%
浏览 864
已采纳

java语言socket编程对象传递

我的需求是:在客户端传递一个对象到服务器,服务端根据发送过来的对象的一个属性的内容决定对这个对象进行对应的处理。现在碰到的问题是:1.我在服务器端用readObject方法反序列化获得对象的类型时Object,服务器如何知道该对象是什么类型并向下转型去获得该对象的属性值(我知道反射可以获得对象的类名,但是无法根据得到的类名进行向下转型((user.getClass()) object).reg()这句出现了编译错误)。2.我传过来的对象是各式各样的,方法名可以在对象参数中带(解决第一个问题就可以获得方法名);但是在反射时我需要知道方法的参数类型和个数才能获得方法,这样的话我无法用一个服务器端方法就能解决所有客户端的要求。3.服务端只有一个socket监听,我如果在一个socket写一个类的对应方法的操作,我如何通过这个socket去调用服务器的其他的类和方法? 恳请解答,感激不尽!

  • 写回答

3条回答 默认 最新

  • ljheee 2017-03-14 11:56
    关注

    在客户端传递一个对象到服务器,如果通过socket,都是序列化成字节流,因为网络传输,全当做字符串传输,是不需要理解具体语义的。服务端根据发送过来的对象的一个属性的内容决定对这个对象进行对应的处理,那就一次传一个集合过来,服务器从集合中取

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 已采纳回答 11月17日

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵