判断我可以自定义String类型 键盘事件 是 KeyboardEvent , 鼠标事件是 MouseEvent 然后去if判断吗 之后该怎样实现呢 说是要用json格式 接收到判断完就直接用json格式去实现吗 还是需要怎么样 这是我第一个项目 第一次接触实际项目 请有经验的大神指导指导 最好能给我点代码
判断我可以自定义String类型 键盘事件 是 KeyboardEvent , 鼠标事件是 MouseEvent 然后去if判断吗 之后该怎样实现呢 说是要用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格式 求大神帮我解决下 实在解决不了
10 回答11.1k 阅读
15 回答8.4k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
8 回答6.2k 阅读
2 回答2.7k 阅读✓ 已解决
题主可能没搞明白客户端和服务端各自的职能。
首先说一点,想在服务端处理键盘事件和鼠标事件,虽然是可以实现的,但是这样要经过很精心的设计才能实现,难度和成本是非常高的,一不小心就把整个软件架构搞乱了。
一般情况下我们是不会在服务端进行事件的处理的。
键盘事件,鼠标事件一般情况下是客户端的事情,触发了事件后,在客户端做好相关的处理,如果需要使用到网络资源,就把需要的信息按照约定好的格式传递给服务器,服务器再将你需要的资源传递给你。
这里举一个例子,
比如常用的登录模块。
界面上有两个输入框和一个按钮,输入框分别是用户名输入框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来传递,或者其他方法。