代码小白。对socket通信这块不了解,现在手上正好有个急事关于这个。主要内容就是第三方通过socket通信调用我的机器发送xml报文,自己测试的时候写了个main函数serversocket,但是实际上最后要部署到生产,main函数肯定不行,看网上说什么监听器、守护进程之类的根本不懂…还请大神们指导指导,最好简单源码支持下,万分感谢!
3条回答 默认 最新
- Winson.J 2021-10-15 17:18关注
socket服务类
package com.socket.server; import java.io.IOException; import java.net.ServerSocket; import java.net.Socket; public class MytSocketServer { //服务监听端口号 private int serverPort = 10002; //socket服务类 private ServerSocket socketServer; //socket服务监听线程 private ServerThread serverThread; public void initSocketServer() { } public void startServer() { try { //启动服务 socketServer = new ServerSocket(serverPort); } catch (IOException e) { System.out.println("初始化SSLServer失败[IO异常]: " + e.getMessage()); System.exit(0); } serverThread = new ServerThread(); Thread workThread = new Thread(serverThread); workThread.start(); } class ServerThread implements Runnable { @Override public void run() { while (true) { Socket socket = null; try { //监控端口,没有连接时阻塞, socket = socketServer.accept(); //有连接,交给线程BusinessThread处理,让服务可以继续监控端口 new Thread(new BusinessThread(socket)).start(); } catch (IOException e) { System.out.println("处理remote socket失败: " + e.getMessage()); } try { //这里可以按需要设置时间间隔,业务多间隔就短点,反之就长点 Thread.sleep(50); } catch (InterruptedException e) { } } } } }
业务处理线程类
package com.socket.server; import java.net.Socket; public class BusinessThread implements Runnable { private Socket socket; public BusinessThread(Socket socket) { this.socket = socket; } @Override public void run() { //从socket中读取完整消息 String xml = readXml(); //一下进行其他处理 } private String readXml() { // TODO Auto-generated method stub return null; } }
测试类
package com.socket.server; public class Test { public static void main(String[] args) { MytSocketServer sever = new MytSocketServer(); sever.initSocketServer(); } }
部署到生产,先安装jdk
- 打成jar包 xxxxxx.jar
- 上传到生产服务器
- 配置相关的配置文件
- java -jar xxxxxx.jar 启动程序
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 基于双目测规则物体尺寸
- ¥15 wegame打不开英雄联盟
- ¥15 公司的电脑,win10系统自带远程协助,访问家里个人电脑,提示出现内部错误,各种常规的设置都已经尝试,感觉公司对此功能进行了限制(我们是集团公司)
- ¥15 救!ENVI5.6深度学习初始化模型报错怎么办?
- ¥30 eclipse开启服务后,网页无法打开
- ¥30 雷达辐射源信号参考模型
- ¥15 html+css+js如何实现这样子的效果?
- ¥15 STM32单片机自主设计
- ¥15 如何在node.js中或者java中给wav格式的音频编码成sil格式呢
- ¥15 不小心不正规的开发公司导致不给我们y码,