Socket(套接字)是基于客户端/服务器架构下的一种通讯服务。ServerSocket用于服务器端,Socket是建立网络连接时使用的。在连接成功时,应用程序两端都会产生一个Socket实例,操作这个实例,完成所需的会话。对于一个网络连接来说,套接字是平等的,并没有差别,不因为在服务器端或在客户端而产生不同级别。不管是Socket还是ServerSocket它们的工作都是通过SocketImpl类及其子类完成的。
下面将介绍Socket如何在服务端和客户端进行通讯。
1、Server
package com.socket;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
public class Server {
public void start(){
try{
ServerSocket server = null;
try{
//创建一个ServerSocket在端口4800监听客户请求
server = new ServerSocket(4800);
}catch(Exception e) {
e.printStackTrace();
}
Socket socket = null;
try{
//使用accept()阻塞等待客户请求,有客户 请求到来则产生一个Socket对象,并继续执行
socket = server.accept();
}catch(Exception e) {
e.printStackTrace();
}
Buffe