java - 结合 TCP 套接字和 Restful 端点
问题描述
我想向我指出在哪里寻找(Java),如何结合 Restful Api 和 TCP 套接字。请求来自 Restful api,并将传播到 Socket!可以通过 Spring Integration 做到这一点吗?还是其他框架?编辑:我已经有了与套接字服务器通信的程序。通信必须是同步的。
解决方案
不知道你的意思是什么propagate to the Socket
。因此,我假设您希望在端点上接收到 REST 连接时,从您的 java 应用程序连接到远程TCP服务器。如何建立连接将取决于您的具体用例,
- 同步与异步
- TCP 服务器和客户端之间要传输的信息量
- 用于消息通信的任何特定协议
- 您是否可以设计自己的协议,例如使用
protobuf
。
您可以考虑的几个选项,
- 纯原生java
SocketChannel
:https ://docs.oracle.com/javase/7/docs/api/java/nio/channels/SocketChannel.html - 异步:AsynchronousSocketChannel https://docs.oracle.com/javase/7/docs/api/java/nio/channels/AsynchronousSocketChannel.html
- kryonet 库:https ://github.com/EsotericSoftware/kryonet
- Apache MINA:https ://mina.apache.org/mina-project TCP 客户端示例代码:https ://mina.apache.org/mina-project/userguide/ch2-basics/ch2.3-sample-tcp-client .html
gRPC
如果您要设计自己的客户端-服务器通信 - https://grpc.io/
推荐阅读
- swift - UIBelzierpath - path.contains(userTouchPoint) 只能检测 userTouchPoint.y 是否正好在路径 Y 位置
- android - 4 水平 ListViews Flutter
- java - Android:如何从输入字段中获取字符串值?
- asp.net-core - Calling async action in asp.net core means file in formData is lost from c# API method
- python - 未加括号的元组在“if”语句中给出“语法错误”
- javascript - 搜索组件不会重新呈现
- elasticsearch - Elasticsearch+kibana 6.2 与 Elasticsearch+kibana 7.9
- python - 如何将 tf-idf 应用于文本行
- visual-c++ - 整数值,如果不是在数学运算中将类型强制转换为 double 会产生令人费解的结果
- python - Python中@classmethod的目的是什么?