Skip to content

websocket连接,连接成功后自动打开某个软件

Notifications You must be signed in to change notification settings

chenwll/websocket_connect

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

websocket_connect

websocket连接,连接成功后自动打开某个软件

客户端

介绍

使用websocket建立连接,发送请求后自动打开应用程序的客户端代码

开发改进

##V1.0改进 1:在websocket通讯中,接受消息和处理消息独立,应建立缓冲机制(如若不建立,会出现函数处理同一命令多次的情况,造成阻塞)。

2: 函数功能应该专一,多余的功能用其他的函数封装。 √

3:log文件存在写冲突问题,父进程应建立专门处理log的子进程,写日志操作通过父子通讯交给log进程统一处理。

4:参数命名应规范,见名知意。 √

5:修改命令行,改为tecplot应用启动。 √

6:正则路径匹配问题 √

7:websocktify自启动(pm2) √

server端说明

noVnc使用说明

项目描述

使用noVnc连接成功之后自动打开tecplot软件

项目实现

  1. 修改noVnc中的源代码,当连接成功之后,自动向服务端发起打开应用程序的请求
  2. client和server间采用websocket通信方式
  3. 使用父子进程,轮询消息队列来控制应用程序的打开和关闭

项目流程

image-20221027142839688

客户端配置

1.基础配置具体参考这篇文档https://zhuanlan.zhihu.com/p/427144657

​ 配置成功之后便可以访问http://x.x.x.x:5901/vnc.html

2.发送请求指令,在url中以路径传参的方式进行。path后面的地址就是打开某个文件的具体路径

http://192.168.3.98:5901/vnc.html?path=C:\\Project\\pltDoc\\SurfFlow_1_1.plt

3.代码中某些字段说明

CMD_CODE(number)
	0:打开程序
	1:关闭程序
url(string)自动从?path中获取
	文件路径
PORT 预定的端口号

服务端配置

安装说明

  1. 从gitee仓库中拉去noVnc Server的代码,放到任意目录

    git clone https://gitee.com/hopeless-reincarnation/no-vnc-serve.git

2.切换分支,改进后的代码在devV2分支里面

git checkout devV2

3.安装项目依赖

npm install

4.设置pm2自启动

  • 全局安装pm2

    npm install pm2 -g
  • 全局安装pm2 Win自启包:pm2-windows-startup:

npm install pm2-windows-startup -g
  • 安装配置包:pm2-startup
pm2-startup install
  • 使用pm2启动项目,启动pm2的配置文件。在该项目目录下输入下面的指令
pm2 start pm2.config.json
  • 设置开机自启动。将此项目保存起来,开机后才会自动重启
pm2 save

5.关机重启,输入下面指令看该项目是否自启动

pm2 list

某些字段说明

msg:提示信息,
RESPONSE_CODE: 执行结果
	0:成功
	1:失败
PROCESS_STATUS:子进程状态
	0:正在执行
	1:退出
	2:创建失败
url:打开文件路径
pid: 子进程的pid
PORT: 约定的端口号
DELAY:轮询消息队列的时间

About

websocket连接,连接成功后自动打开某个软件

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages