多线程(一)_循环接收请求的服务端

来源:互联网 发布:海牙国际法院知乎 编辑:程序博客网 时间:2024/06/07 05:37
import java.io.BufferedWriter;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.net.ServerSocket;
import java.net.Socket;


/*
 * IP:172.17.67.171
 * 循环等待客户端传送过来的请求,并向客户端发送“欢迎连接,你已连接上\n”
 */
public class Server {


public static void main(String[] args) throws Exception {
while (true) {
ServerSocket ss = new ServerSocket(23600); // 获取服务端对象
Socket socket = ss.accept(); // 通过调用accept方法 等待 客户端连接请求 并返回 Socket对象
// 调用 getOutputStream获取输出流 ,可以把要发送到客户端的信息写入到输出中流
OutputStream os = socket.getOutputStream();
// 使用转换流把字节流转换一下 , 从字节流转换成字符流
OutputStreamWriter osw = new OutputStreamWriter(os);
// 把转换流再放到缓冲流中
BufferedWriter bw = new BufferedWriter(osw);
// 开始向缓冲流中写入信息 ,这些信息是写给客户端的
bw.write("欢迎连接,你已连接上\n");   //此处加\n,用来方便客户端按行读取信息
bw.flush();// 把写入的信息从缓冲区中刷新到内存中
bw.close();
osw.close();
os.close();
socket.close();
ss.close();
}


}


}
0 0