要在Android中使用socket.io通过局域网连接,你需要确保你的设备和服务器在同一个局域网中,并且正确配置了IP地址和端口。以下是一个使用socket.io连接到局域网服务器的代码示例:
build.gradle
文件中添加了socket.io客户端库的依赖项:implementation 'io.socket:socket.io-client:1.0.0'
import io.socket.client.IO;
import io.socket.client.Socket;
import io.socket.emitter.Emitter;
public class MainActivity extends AppCompatActivity {
private Socket socket;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
try {
IO.Options options = new IO.Options();
options.forceNew = true;
socket = IO.socket("http://your_server_ip:your_server_port", options);
socket.connect();
socket.on(Socket.EVENT_CONNECT, new Emitter.Listener() {
@Override
public void call(Object... args) {
Log.d("SocketIO", "Connected to server");
}
});
socket.on(Socket.EVENT_DISCONNECT, new Emitter.Listener() {
@Override
public void call(Object... args) {
Log.d("SocketIO", "Disconnected from server");
}
});
} catch (URISyntaxException e) {
e.printStackTrace();
}
}
@Override
protected void onDestroy() {
super.onDestroy();
socket.disconnect();
}
}
请确保将your_server_ip
替换为你的服务器的IP地址,your_server_port
替换为你的服务器的端口号。
这样,你的Android设备就可以通过局域网连接到socket.io服务器了。记得在连接之前要检查网络连接权限,并确保你的设备和服务器在同一个局域网中。