今天我学习java网络编程的第二步:服务器端如何来侦听客户端的请求的问题。
主要通过两个socket类:
1 ServerSocket 运行在服务器端,用来侦听来自客户端的socket请求。
2 Socket 向服务器端发送请求。
下面列出一个例子(服务器端侦听客户端的请求的例子)
服务器端代码:
import java.io.IOException; import java.net.ServerSocket; import java.net.Socket; public final class Server { public static void main(String[] args) { System.out.println("wait......"); try { ServerSocket serverSocket=new ServerSocket(6666) ;//服务器的socket Socket clientSocket=null;//客户端的socket while(true){ clientSocket=serverSocket.accept() ;//监听客户端请求 System.out.println("监听到了请求。。。开始执行。。。"); ---下面可以处理业务逻辑 System.out.println("1 and 3=="+(1+3)); } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
下面是客户端代码:
import java.io.IOException; import java.net.Socket; public class Client { public static void main(String[] args) { try { Socket serverSocket = new Socket("127.0.0.1", 6666); //端口与服务器端口一致。 serverSocket.close() ; } catch (UnknownHostException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } } 首先运行Server.java,服务器上会有一个线程永远侦听客户端的请求,一但侦听到,便打印1+3=4.然后运行Client.java
向服务器端的6666端口发送请求。测试打印如下。。。
监听到了请求。。。开始执行。。。 1 and 3==4 监听到了请求。。。开始执行。。。 1 and 3==4
相关资源:Java可以监听客户端的请求、服务端的操作等。