gpt4 book ai didi

java - Android 作为 Web 服务服务器?

转载 作者:行者123 更新时间:2023-12-02 08:16:58 25 4
gpt4 key购买 nike

也许与其他人相反,我正在考虑在 Android 上运行 Web 服务服务器。有没有支持这个的库?我认为 ksoap2 例如仅用于使用 Web 服务,而不是为其提供服务,对吗?

而且,如果没有冗长的编码就不可能做到这一点,我只需要在 Android 上运行 HTTP 服务器并用它接收二进制文件(通过 POST)。

有人可以给一些提示吗?

干杯,马克

最佳答案

最后,我放弃了在 Android 端使用 Webservice 来实现它的想法,只是设法通过 Socket 通信和自行设计的协议(protocol)来实现它,就像这样:

public class AsyncTaskSocketServer extends AsyncTask<Integer, String, Integer> {

private int id;
private String TAG = "AsyncTaskSocketServer";

private AsyncTaskSocketServer() {
super();
Random generator = new Random();
id = generator.nextInt();
Log.d(TAG, "created with id: " + id);
}

@Override
protected Integer doInBackground(Integer... ports) {

int port = ports[0];
Log.v(TAG, "Trying to start on port: " + port + " with id: " + id);

try {
ServerSocket serverSocket = new ServerSocket(port);

while (!isCancelled()) {
Socket client = serverSocket.accept();
try {
Log.v(TAG, "Listening on port: "
+ port);
BufferedReader in = new BufferedReader(
new InputStreamReader(client.getInputStream()));
String str = in.readLine();
publishProgress(str);

} catch (Exception e) {
e.printStackTrace();
Log.v(TAG, "Exception while socket.accept"+ id);
} finally {
client.close();
}
client.close();
}
} catch (Exception e) {
e.printStackTrace();
Log.v(TAG, "Exception in SocketServer creation" + id);
}
return port;
}

@Override
protected void onProgressUpdate(String... values) {
super.onProgressUpdate(values);
String message = values[0];
try {
NetworkQueue.MESSAGE_IN_QUEUE.put(message);
Log.v(TAG, "received: " + message);
} catch (Exception e) {
Logger.log("AsyncTaskSocketServer: Exception while writing to IN_QUEUE");
}
}
}

关于java - Android 作为 Web 服务服务器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6180828/

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