扫码关注官方订阅号
判断我可以自定义String类型 键盘事件 是 KeyboardEvent , 鼠标事件是 MouseEvent 然后去if判断吗 之后该怎样实现呢 说是要用json格式 接收到判断完就直接用json格式去实现吗 还是需要怎么样 这是我第一个项目 第一次接触实际项目 请有经验的大神指导指导 最好能给我点代码
欢迎选择我的课程,让我们一起见证您的进步~~
题主可能没搞明白客户端和服务端各自的职能。首先说一点,想在服务端处理键盘事件和鼠标事件,虽然是可以实现的,但是这样要经过很精心的设计才能实现,难度和成本是非常高的,一不小心就把整个软件架构搞乱了。一般情况下我们是不会在服务端进行事件的处理的。键盘事件,鼠标事件一般情况下是客户端的事情,触发了事件后,在客户端做好相关的处理,如果需要使用到网络资源,就把需要的信息按照约定好的格式传递给服务器,服务器再将你需要的资源传递给你。这里举一个例子,比如常用的登录模块。界面上有两个输入框和一个按钮,输入框分别是用户名输入框userNameView,和密码输入框passwordView,按钮是btnSubmit。用户先会进行用户名和密码的输入。然后点击了btnSubmit。这个时候就是进行事件处理了,我们会先在客户端里面,做一如下处理,
获取输入用户名 String userName = userNameView.text;
获取输入密码 String password = passwordView.text;
简单的预处理->判断输入是否为空? if(userName==""||password==""){return;}
不为空,则将信息传递给服务器,如 使用get请求http://example.com/login.php?userName=user&password=passwd(作为演示不考虑安全性问题)
服务器返回处理结果(登陆成功?失败? 返回记录登陆状态的cookie等等)可以看到,获取用户名和获取密码这一步是不可能在服务端进行的。这也是在服务端处理事件不可取之处。
当然这个例子只是传递一些简单的数据,更复杂的数据可以用json来传递,或者其他方法。
首先明确一点,客户端与后端的交互是数据交互,而不是事件交互,具体得再看你们的需求及后端需要的数据了,json只是其中一种形式。
class Service implements Runnable{全选复制放进笔记
private Socket socket; private BufferedReader in = null; public Service(Socket socket){ this.socket=socket; try { in=new BufferedReader(new InputStreamReader(socket.getInputStream())); //msg=in.readLine(); } catch (Exception e) { e.printStackTrace(); } } @Override public void run() { try { while(true){ if ((msg=in.readLine())!=null) { //这边再加个if判断是鼠标还是键盘消息 }else{ in.close(); this.send(); } } } catch (Exception e) { e.printStackTrace(); } }
得在那边加一个if的判断 来判断客户端进来的东西是 属于键盘类事件的 还是 鼠标类事件的
{"CmdType":"命令类型", "CmdCode":"命令代码", "CmdParam1":"参数1", "CmdParam2":"参数2", "CmdParam3":"参数3"}命令类型:
Key: 按键 Touch: 触屏(鼠标)消息 Other:其他消息
这个是要求的json格式 求大神帮我解决下 实在解决不了
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
题主可能没搞明白客户端和服务端各自的职能。
首先说一点,想在服务端处理键盘事件和鼠标事件,虽然是可以实现的,但是这样要经过很精心的设计才能实现,难度和成本是非常高的,一不小心就把整个软件架构搞乱了。
一般情况下我们是不会在服务端进行事件的处理的。
键盘事件,鼠标事件一般情况下是客户端的事情,触发了事件后,在客户端做好相关的处理,如果需要使用到网络资源,就把需要的信息按照约定好的格式传递给服务器,服务器再将你需要的资源传递给你。
这里举一个例子,
比如常用的登录模块。
界面上有两个输入框和一个按钮,输入框分别是用户名输入框userNameView,和密码输入框passwordView,按钮是btnSubmit。
用户先会进行用户名和密码的输入。
然后点击了btnSubmit。这个时候就是进行事件处理了,我们会先在客户端里面,做一如下处理,
获取输入用户名 String userName = userNameView.text;
获取输入密码 String password = passwordView.text;
简单的预处理->判断输入是否为空? if(userName==""||password==""){return;}
不为空,则将信息传递给服务器,如 使用get请求http://example.com/login.php?userName=user&password=passwd(作为演示不考虑安全性问题)
服务器返回处理结果(登陆成功?失败? 返回记录登陆状态的cookie等等)
可以看到,获取用户名和获取密码这一步是不可能在服务端进行的。这也是在服务端处理事件不可取之处。
当然这个例子只是传递一些简单的数据,更复杂的数据可以用json来传递,或者其他方法。
首先明确一点,客户端与后端的交互是数据交互,而不是事件交互,具体得再看你们的需求及后端需要的数据了,json只是其中一种形式。
class Service implements Runnable{
全选复制放进笔记
得在那边加一个if的判断 来判断客户端进来的东西是 属于键盘类事件的 还是 鼠标类事件的
{"CmdType":"命令类型", "CmdCode":"命令代码", "CmdParam1":"参数1", "CmdParam2":"参数2", "CmdParam3":"参数3"}
命令类型:
这个是要求的json格式 求大神帮我解决下 实在解决不了