本文主要实现不同tomcat服务器之间通过socket通信,数据格式json。
将服务器A的hibernate对象转化为json,传输给服务器B,生成hibernate对象,然后保存到数据库。
1、new 一个线程,用来启动serverSocket,可以用spring中的@PostConstructor自启动。
核心代码如下:
while(true){
socket = serverSocket.accept();
ExecutorService exec = Executor.newCacheThreadPool();
exec.execute (new RunableImpl());
}
2、服务端RunableImpl
核心代码:
//数据较大时可以生成缓存文件,将数据保存到文件
in = new BufferedReader(new InputStreamReader(socket.getInputStream(), "GB2312"));
String line;
while ((line = in.readLine()) != null) {
msg += line;
}
获得json格式的msg后
//转化为List<User>
JSONObject jsonObject = JSONObject.fromObject( msg);
List<User> list = (List<User>)JSONArray.toCollection(jsonObject.getJSONArray("arraydata"),User.Class);
dao.saveAll(list);
//msg格式如下:"{type:USER,arraydata:[{},{}]}"
3、客户端
//list形式的hibernate对象数据转化为json
List<User> list = dao.findAll();
JSONArray jsonArray = JSONArray.fromObject( list);
strMsg = jsonArray.toString();
//发送数据
Socket socket= new Socket (ip,端口);
out = new PrintWriter(socket.getOutputStream(),true);
out.println(strMsg); //数据较大时,可分组传输
out.flush();
out.close();
分享到:
相关推荐
VIDEO.socket.onmessage = function(event) { var data = JSON.parse(event.data); console.log('收到服务器消息:' + data.message); }; VIDEO.socket.onclose = function() { console.log('视频聊天已断开'); }; ...
在本项目中,Spring Boot作为核心框架,提供了依赖注入、自动配置、内嵌Web服务器(如Tomcat)等功能,使得开发者能够快速构建聊天服务的后端逻辑。 **Netty-socket.io**: Socket.IO 是一个实时应用程序框架,它在...
客户端通常由一种语言编写,服务器端由另一种语言编写,两者通过约定的数据格式(如JSON或XML)交换信息。 五、网页方式的Socket通信 除了C#和Java直接通信,还可以借助WebSocket实现在网页上进行实时通信。...
你可以自定义这些类来处理特定的数据格式,如JSON或自定义二进制格式。 **客户端WebSocket** 在客户端,我们可以通过JavaScript的WebSocket API与服务器建立连接,发送和接收消息。例如: ```javascript var ...
1. **Spring Boot框架**:Spring Boot简化了Java Web应用的开发,通过内置的Tomcat服务器、自动配置和“starters”依赖管理,使得开发者可以快速构建可运行的应用。在这个项目中,Spring Boot作为基础架构,提供了...
socket.send(JSON.stringify({message: 'Hello Server!'})); }; socket.onmessage = function(event) { // 接收到消息时 console.log('Message from server ', event.data); }; socket.onerror = function(error)...
Apache Tomcat是一款广泛应用的开源Java Servlet容器,它实现了Java Servlet和JavaServer Pages(JSP)规范,用于部署和运行Java Web应用程序。在标题和描述中提到的“tomcatjss”可能是一个与Apache Tomcat相关的...
- `spring-boot-starter-web`:包含Spring Web MVC和Tomcat,用于构建Web应用程序。 - `spring-boot-starter-test`:测试相关的依赖,但排除了`junit-vintage-engine`,可能是为了避免与JUnit5的冲突。 2. **...
6. **XML/JSON交换**:对于简单的数据交换,Flash和Java可以通过XML或JSON格式进行数据传输,这两种格式易于解析,兼容性好。 7. **WebSocket**:现代Web通信中,WebSocket提供了一种全双工、低延迟的连接方式,...
本文将详细介绍该框架所涉及的关键技术,包括数据库连接池(DatabaseConnectionPool)、对象关系映射(ORM)、动态代理(Proxy)、面向切面编程(AOP)、远程方法调用(RMI)以及HTTP、Socket、JSON等相关技术。 #### 二、...
例如,可以使用JSON格式传输消息,包含用户ID、接收者ID、消息内容等字段。同时,需要对用户的连接进行验证和授权,防止未授权的访问。 压缩包中的"Tomcat-websocket私聊"可能包含了示例代码、配置文件等资源,用于...
7. **XML和JSON解析**:可能涉及数据交换格式的处理,如XML或JSON的解析和生成。 8. **错误处理和日志记录**:学习如何正确地处理异常并记录日志,以帮助调试和监控应用状态。 9. **Spring框架集成**:如果项目...
这可能涉及到Tomcat、Jetty等Java应用服务器,或者Nginx、Apache等Web服务器,以及可能的云服务提供商如AWS、阿里云等。 通过深入学习这些知识点,你可以构建出功能更完善的聊天室应用,或者将其扩展到其他类型的...
3. 在接收到NFC标签后,解析标签中的数据,通常NFC标签可以存储文本、URI、JSON或其他格式的信息。 4. 使用socket编程建立Android应用与服务端的连接,将解析到的数据通过socket发送到服务端。 5. 在服务端,用...
3. **Java Socket编程**:为了实现聊天功能,Java的Socket编程可能被用来建立客户端与服务器之间的连接,允许数据在两者之间双向传输。 4. **多线程**:在聊天系统中,多线程是必不可少的,因为它允许同时处理多个...
这两个项目让他深入理解了openFire服务器和asmack框架,熟练掌握了Socket通信和JSON解析,加深了TCP/IP协议的理解。同时,他掌握了基于NDK的JNI调用C语言的机制。通过音乐播放器项目,他巩固了对Android后台服务、...
4. **JSON解析**:地图服务通常返回JSON格式的数据,因此理解如何使用如Jackson、Gson或org.json等库来解析JSON是非常重要的。 5. **Maven或Gradle构建**:如果项目包含`pom.xml`或`build.gradle`文件,那么它可能...
// 需要使用WebSocket相关的库,如Jetty或Tomcat @ServerEndpoint("/javaWebSocket") public class JavaWebSocket { @OnOpen public void onOpen(Session session) { // 连接建立时处理 } @OnMessage public ...
1. **连接管理**:使用Java的Socket或HttpConnection类建立与服务器的连接,发送请求和接收响应。 2. **数据交换**:通常使用XML或JSON格式传输数据,便于解析和序列化。 3. **多线程**:由于网络操作通常涉及阻塞I/...