页面发送指令到后端处理控制PLC

框架ssh:

后台:

1.后台写一个控制类(control.action)控制发送指令(Utils.sendMessage_toServer(m1))给中间件httpserverService()。

2.control类要在applicationContext.xml中配置并在struts.xml 配置

问题:此处的action用途,method方法?

3.页面请求(scontroByHand_1.jsp,onclick,后面跟ajax(ajax4.js)里的方法,

{注意ajax里运用到了XMLHttpRequest方法,一种发送请求与接收响应的方法},

ajax里的GET请求后跟的方法是在struts.xml里配置的control类的name_control类里的方法名,这里可以理解为struts.xml为页面ajax请求的寻址查找配置方式;

method{1}表示执行control_后跟的方法。

4.Utils类为发送Http的一端,可以请求远程主机发送信息。下图为接收请求的主机URL

中间件:

5.中间件接收请求信息,创建接收端httpserver对象,HandleHttpRequest类内部有静态内部类MyHttpHandler,(静态内部类一般只被其外部类引用,调用时只要外部类.内部类调用就好),MyHttpHandler类接收请求字符串,分割(接收底层是io字符流,字符串分割符split分割字符后保存在字符数组中),条件判断语句if 中,接收到MainRuan类中定义的ServerSocket,此时的socket 是从SaveSocket类中取出的(1),然后调用SendMessToPlc.sendMess(mess2controlPlc, so);方法向plc发送消息。向PLc发送消息有了(向与plc连接的串口服务器)

(1)在TcpHandlePlc类中将Serversocket.accept()之后保存到SaveSocket类中(方便取得),将此socket赋给plcsocket变量,(此类实际就是将serversocket.accept()之后传给plcsocket,将服务器端变成可接收数据的客户端,Netobject()方法,打印节点连接成功,可接收数据信息,内部processMethod()方法,解析节点(串口服务器)传来的信息,并存入数据库)。接收

节点传来的信息有了

问题1:socket.accept():https://blog.csdn.net/shanshanhi/article/details/60867340,它不是新创了客户端,而是服务端和客户端建立了连接,包含了客户端的IP和port信息。此处暂时理解为此serversocket.accept()既可以发送数据又可接收数据。

6.MainRun类创建了一个服务器端ServerSocket serverW,并给这个服务器端打开一个端口private static final int PLCPORT = 4905;HandleHttpRequest接收后台请求并给与plc连接的串口服务器发送控制指令码,TcpHandlePlc类转换serversocket并存入savesocket类

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值