【发布时间】:2015-07-20 20:49:59
【问题描述】:
**
会有多个客户端在 6069 端口向服务器发送消息。我希望同时处理多个请求,但我不确定下面的代码是否可以做到。
套接字队列上会有请求。由于只有一个线程,它将在一个请求上执行其迭代,然后它将从队列中获取下一个请求。如何同时为多个客户提供服务?
**
这是创建线程以侦听端口 6069 的类。
public class NetworkModule extends Thread {
private ServerSocket serverSocket;
public NetworkModule(int port) throws IOException {
serverSocket = new ServerSocket(port);
}
public void run() {
while (true) {
/* Here I read strings from the inputstream and write
to outputstream corresponding to "serverSocket" and call
functions from other classes*/
}
}
}
下面是 Main 类的样子
public class Main
{
public static void main(String[] args)
{
try
{
int port=6069;
Thread t = new NetworkModule(port);
t.start();
}
catch(IOException e)
{
e.printStackTrace();
}
}
}
【问题讨论】:
-
提示:如果您想这样做,请记住注意关键部分。
-
尽量不要扩展
Thread- 而是扩展Runnable。无论如何,我不明白您的问题 - 请提供更多详细信息。 -
参见 Java 教程的自定义网络部分。
标签: java multithreading sockets client server