首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >跨TCP套接字与ObjectInputStream、Java和Lua客户端联网

跨TCP套接字与ObjectInputStream、Java和Lua客户端联网
EN

Stack Overflow用户
提问于 2015-09-14 21:04:11
回答 1查看 118关注 0票数 1

我有一个Java服务器,它将有两种不同类型的客户机,一种是基于Java的控制台,另一种是基于Lua的客户机,服务器将对它们进行控制。我要和Lua的客户来回交谈

代码语言:javascript
复制
out = new PrintWriter(socket.getOutputStream(), true);
in = new BufferedReader(new InputStreamReader(socket.getInputStream()));

我现在正试图获得一个基于Java的客户端来连接,我想使用

代码语言:javascript
复制
out = new ObjectOutputStream(new BufferedOutputStream(socket.getOutputStream()));
in = new ObjectInputStream(new BufferedInputStream(socket.getInputStream()));

我遇到的问题是理解接受连接的最佳方法,不知道另一端是Lua还是Java客户端。然后建立合适的溪流。

我应该在初始连接上使用不同的端口吗?我希望能有更多类似于从ObjectOutputStream发送BufferedReader可以读取的字符串的内容。或者,如果是PrintWriter或ObjectOutputStream,是否应该在设置之前使用更低的级别来查看连接内容。

指向深度教程或实际代码的链接将有效。我有困难找到资源以外的基本设置的一个或另一个。

谢谢你的进阶。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-09-14 21:15:13

既然您建议提供两种完全不同的服务,那么在不同的端口提供它们是自然的,也是合适的。为了实现这一点,您的服务器将创建和管理两个独立的ServerSocket,监听不同的端口。一个提供一个服务,另一个提供另一个服务。您可以使用线程、Selector或这些线程的组合来处理两个服务器套接字和所有客户机。

作为另一件事,我敦促您在依赖对象流之前仔细考虑。如果您可以在更简单和/或更通用的协议之上实现您的服务,那么您将避免Java序列化的多重乐趣,您还将为用其他语言编写的客户端打开大门。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32573917

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档