爱读的书虫 2020-06-22 22:18 采纳率: 0%
浏览 128

各位大佬,这个服务器端为什么一直没有收到消息?安卓手机端一直在发送。

import java.awt.Robot;
import java.awt.event.InputEvent;
import java.io.DataInputStream;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;

public class ReviceMouseMessage implements Runnable{

public static void main(String args[]){
    new Thread(new ReviceMouseMessage()).start();
}
private Robot robot;
private int OPERATE_PORT=9999;
private ServerSocket server;
private Socket socket;
public ReviceMouseMessage(){
    try{
        server=new ServerSocket(OPERATE_PORT);
        robot=new Robot();
    }catch(Exception e){
        e.printStackTrace();
    }
}
@Override
public void run() {
    // TODO Auto-generated method stub
    while(true){
        try{
            System.out.println("等待接受信息******");
            socket=server.accept(); 
            socket.setSoTimeout(100000);
            DataInputStream dataIn = new DataInputStream(socket.getInputStream());        
            String info="";
            int r;

            while((r=dataIn.read()) != -1){
                info +=""+(char)r;   //把字节数组中所有元素都变为字符型
                //  System.out.println("当前读到的数据时"+info);
            }

            dataIn.close();
            System.out.println("数据流断开"+info);
            if(info!=null){
                String s[] = info.trim().split(","); 
                switch(s[0].trim()){
                    case "Movemouse":
                        if (s.length == 3) {
                            float x = Float.parseFloat(s[1].trim());
                            float y = Float.parseFloat(s[2].trim());
                            System.out.println("输出鼠标的信息"+x+"  "+ y);
                            robot.mouseMove((int)x, (int)y);
                        }
                        break;
                    case "MouseClick":
                        robot.mousePress(InputEvent.BUTTON1_MASK);
                        robot.mouseRelease(InputEvent.BUTTON1_MASK);
                        break;
                    case "MouseRight":
                        robot.mousePress(InputEvent.BUTTON3_MASK);
                        robot.mouseRelease(InputEvent.BUTTON3_MASK);
                        break;
                }
            }
        }catch(IOException e){
            System.out.println("已经停止连接");
        }
    }
}

}

  • 写回答

1条回答 默认 最新

  • threenewbee 2020-06-23 07:28
    关注

    看看运行的时候,客户端代码有没有真的在发送,有没有报错。
    使用的端口、ip是否是服务器的,网络是否通(如果是局域网,在不在一个网段,如果是公网,有没有公网ip),防火墙是否允许对应的端口。

    评论

报告相同问题?

悬赏问题

  • ¥15 物体组批优化问题-数学建模求解答
  • ¥15 微信原生小程序tabBar编译报错
  • ¥350 麦克风声源定位坐标不准
  • ¥15 apifox与swagger使用
  • ¥15 egg异步请求返回404的问题
  • ¥20 Ti毫米波雷达板同步
  • ¥15 安装了kali后用VM打开,没有鼠标且无法控制怎么办啊
  • ¥15 关于#python#的问题:无功优化问题数学建模要以3机9节点为算例编写一个以最小有功网损为目标的无功优化问题,想要了解清楚其中数学建模的具体公式进行学习
  • ¥15 mvc采用element分页的问题
  • ¥15 proteus怎样构建他励直流发电机模型?