Nodejs服务器忽略我的Android应用程序连接,但如果它是来自移动Chrome浏览器的相同请求,则接受它吗?

时间:2017-08-18 07:35:57

标签: android node.js socket.io android-volley

我有一个奇怪的问题,每个瘦都像魅力一样工作,直到突然NodeJs服务器决定不接受我的请求并记录任何东西。我关闭了防火墙螺母但仍然存在。我测试发送一个get请求Chrome浏览器,但我得到了一个回复。我建立的Android应用程序似乎没有被它的服务器接受,并且不是它不是一个权限问题,它之前是否正在工作,所以这里发生了什么?!!

即使这个简单的NodeJS代码也拒绝我的应用程序:

const http = require('http');
const express=require('express');
const path=require("path");
const socketIo=require("socket.io");

var app=express();
var server=http.createServer(app);
var io=socketIo(server);




io.on("connection",(socket)=>{
console.log("New user connected");


 socket.on("Hello",(message)=>{
        console.log(message);
    });
  });


server.listen(3500,()=>{
   console.log("Server is up");
  });

这也是一个简单的Android应用程序MainActivity:

public class MainActivity extends AppCompatActivity {


Button send;
Button open;

public Socket mSocket;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_main);

    Button send=(Button)findViewById(R.id.sendData);
    final Button open=(Button)findViewById(R.id.open);
    {
        try {
            mSocket = IO.socket("http://192.168.0.100:3500");
        } catch (URISyntaxException e) {}

        Log.d("sadad","wqewq");

    }






    open.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {


            mSocket.connect();

        }


    });


    send.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            HashMap<String,String> jsonData=new HashMap<>();
            jsonData.put("username","asdasdasdasdas");
            jsonData.put("company","asdasdsad");
            jsonData.put("job","asdasdsad");



            JSONObject object=new JSONObject(jsonData);

            mSocket.emit("Hello",object);
        }
    });



}

}

另外我查看了android studio中的日志,它很难连接,没有响应,在超时后发送许多TCP连接等待:

D/libc-netbsd: [getaddrinfo]: hostname=192.168.0.100; servname=(null); 
                                     cache_mode=(null), netid=0; mark=0
D/libc-netbsd: [getaddrinfo]: ai_addrlen=0; ai_canonname=(null);  

  ai_flags=4; ai_family=0
D/libc-netbsd: [getaddrinfo]: hostname=192.168.0.100; servname=(null);  

cache_mode=(null), netid=0; mark=0

D/libc-netbsd: [getaddrinfo]: ai_addrlen=0; ai_canonname=(null); ai_flags=4;
ai_family=0

0 个答案:

没有答案