java生成一个Socket和Servlet结合的代码例子
时间: 2024-05-30 10:15:25 浏览: 94
你好,以下是Java中生成一个Socket和Servlet结合的代码例子:
首先,需要在服务器端创建一个Servlet,假设我们的Servlet类名为MyServlet:
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/MyServlet")
public class MyServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public MyServlet() {
super();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// TODO Auto-generated method stub
doPost(request, response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// TODO Auto-generated method stub
try {
Socket socket = new Socket("127.0.0.1", 8888);
PrintWriter out = new PrintWriter(socket.getOutputStream());
out.println("Hello Server");
out.flush();
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
String msg = in.readLine();
System.out.println("Message from Server: " + msg);
} catch (Exception e) {
System.out.println("Exception: " + e);
}
doGet(request, response);
}
}
上述代码中,创建了一个Socket对象,连接到本地IP地址为127.0.0.1的服务器端口号为8888的Socket服务,向服务器端发送一条“Hello Server”消息,然后等待服务器端的响应消息。
接下来,在服务器端创建一个Socket服务程序,代码如下:
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
public class SocketServer {
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
ServerSocket server = new ServerSocket(8888);
while (true) {
Socket client = server.accept();
System.out.println("Connect to: " + client);
BufferedReader in = new BufferedReader(new InputStreamReader(client.getInputStream()));
PrintWriter out = new PrintWriter(client.getOutputStream());
String msg = in.readLine();
System.out.println("Message from Client: " + msg);
out.println("Hello Client");
out.flush();
}
} catch (Exception e) {
System.out.println("Exception: " + e);
}
}
}
上述代码中,创建了一个ServerSocket对象,监听本地端口号为8888的Socket服务,当有客户端连接时,创建一个Socket对象,关联到客户端的Socket服务,从客户端读取请求消息,然后向客户端发送一条“Hello Client”响应消息。
这就是Java中生成一个Socket和Servlet结合的代码例子,希望可以帮助到你,如有其它问题,请随时联系我。
阅读全文
相关推荐
















