从Android发送int值给PC

时间:2012-03-28 15:16:09

标签: android sockets client

我设法通过IP地址设置服务器(在PC上)和客户端(在设备上)。现在我想向PC发送一个meesage向左或向右移动,这取决于我是否按下音量...

客户端:

   @Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_VOLUME_UP) 
    {
        mtcpclient.write(1); //I need to implement write function..
        return true;
    }
    else if (keyCode == KeyEvent.KEYCODE_VOLUME_DOWN){
        mtcpclient.write(2);//I need to implement write function..
        return true;
    }

    return super.onKeyDown(keyCode, event);
}

服务器:

private void processCommand(int command) {//Recieve int and decide to go right or left
    try {
        Robot robot = new Robot();
        switch (command) {
        case 1:
            robot.keyPress(KeyEvent.VK_RIGHT);
            System.out.println("Right");
            break;
        case 2:
            robot.keyPress(KeyEvent.VK_LEFT);
            System.out.println("Left");
            break;
        }
    } catch (Exception e) {
        e.printStackTrace();
    }

2 个答案:

答案 0 :(得分:0)

如果您的问题是如何发送数据......这里有一个关于如何通过TCP发送数据的简单示例。

String message = "Message to server";
String ipAdd = "127.0.0.1";
int port = 6789;
InetAddress ip = InetAddress.getByName(ipAdd);
Socket clientSocket = new Socket(ip, port);
DataOutputStream outToServer = new DataOutputStream(clientSocket.getOutputStream());
outToServer.writeBytes(message);
outToServer.flush();
clientSocket.close();

然后你只需要在你的电脑上写一个类似的监听器。

答案 1 :(得分:0)

我同意Kevin的回应,但仿真器被认为是另一台机器,因此您必须通过PC的Adress更改ipAdd,通常这应该有效。

祝你好运;)