gpt4 book ai didi

java - socket.io-java-client cookies/自定义 header

转载 作者:行者123 更新时间:2023-11-29 21:07:05 30 4
gpt4 key购买 nike

我正在为一个网站开发移动应用程序,他们使用 Socket.io 和 Websocket 进行通信。

我在 Android 上使用 socket.io-java-client 连接到 Socket.io 服务器,问题是,我不知道如何使用它设置自定义 header /cookie。

代码如下:

    public void runIO(){
try {
SocketIO socket = new SocketIO("http://192.168.1.60:1337");
socket.connect(new IOCallback() {
@Override
public void onMessage(JSONObject json, IOAcknowledge ack) {
try {
System.out.println("Server said:" + json.toString(2));
} catch (JSONException e) {
e.printStackTrace();
}
}

@Override
public void onMessage(String data, IOAcknowledge ack) {
System.out.println("Server said: " + data);
}

@Override
public void onError(SocketIOException socketIOException) {
System.out.println("an Error occured");
socketIOException.printStackTrace();
}

@Override
public void onDisconnect() {
System.out.println("Connection terminated.");
}

@Override
public void onConnect() {
System.out.println("Connection established");
}

@Override
public void on(String event, IOAcknowledge ack, Object... args) {
System.out.println("Server triggered event '" + event + "'");
}
});

// This line is cached until the connection is establisched.
socket.send("Hello Server!");
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

最佳答案

事实上有一些简单的函数可以用来在连接前设置头部:

addHeader(String key, String value)setHeaders(Properties headers)

您还可以使用 SocketIO(final String url, Properties headers)(而不是我使用的 SocketIO(final String url)):

// Haeader Properties initiation
private Properties headers = new Properties();

然后例如设置cookies:

headers.setProperty("Cookie","key=data;key2=data2");

最后在连接时替换

this.socket = new SocketIO(val);

通过

this.socket = new SocketIO(val,this.headers);

关于java - socket.io-java-client cookies/自定义 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24234260/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com