muyunqinggezero 2023-03-19 18:37 采纳率: 75.9%
浏览 38
已结题

关于#java#的问题:ps:总结一下问题:一个在服务器上持续运行的应用程序,用于网络接受从设备数据并发给主设备(操作系统-linux)

我租用了一个云服务器作为主设备和从设备数据传输的媒介,我想通过java的socket和serverlet去写一个无界面的应用程序,不需要能被浏览器访问到(ps:所以不是web项目了 不知道是否还需要tomcat),只做接受从设备发来的数据,经过处理发给主设备。 我的一个困惑时,如何让应用程序不间断的运行,不在处理完一条指令完成后跳出程序。
ps:总结一下问题:一个在服务器上持续运行的应用程序,用于网络接受从设备数据并发给主设备。

  • 写回答

4条回答 默认 最新

  • Treabhar 2023-03-19 18:51
    关注

    基于GPT的解答
    您可以使用Java中的Socket编程来实现此目的。下面是一些基本步骤:

    1.创建一个ServerSocket对象来监听端口,并接受从设备发送的数据。

    2.在无限循环中,使用ServerSocket对象的accept()方法来接受客户端的连接,并获取客户端的Socket对象。

    3.通过Socket对象获取输入流,读取从设备发送的数据,并进行处理。

    4.处理完毕后,将处理结果发送给主设备。您可以通过Socket对象获取输出流,并将处理结果写入输出流中。

    关闭连接并继续等待下一个连接。

    为了使应用程序持续运行,您可以将上述步骤放在一个while循环中,并在循环中不断接受从设备的连接和处理数据。同时,您也可以考虑使用多线程来处理并发连接,以提高性能。

    至于应用程序如何在服务器上持续运行,您可以将程序打包成可执行的JAR文件,并使用nohup命令在后台运行。例如,可以使用以下命令启动应用程序:

    nohup java -jar your_application.jar &
    
    

    这样,应用程序将在后台运行,并且在关闭终端窗口时不会终止。希望采纳。

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

报告相同问题?

问题事件

  • 系统已结题 5月11日
  • 已采纳回答 5月3日
  • 创建了问题 3月19日

悬赏问题

  • ¥20 求各位懂行的人,注册表能不能看到usb使用得具体信息,干了什么,传输了什么数据
  • ¥15 个人网站被恶意大量访问,怎么办
  • ¥15 Vue3 大型图片数据拖动排序
  • ¥15 Centos / PETGEM
  • ¥15 划分vlan后不通了
  • ¥15 GDI处理通道视频时总是带有白色锯齿
  • ¥20 用雷电模拟器安装百达屋apk一直闪退
  • ¥15 算能科技20240506咨询(拒绝大模型回答)
  • ¥15 自适应 AR 模型 参数估计Matlab程序
  • ¥100 角动量包络面如何用MATLAB绘制