我有一个奇怪的问题,每个瘦都像魅力一样工作,直到突然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