server1.java

来自「这是一个用java编写的关于WEB应用编程的简单的聊天系统的样例」· Java 代码 · 共 71 行

JAVA
71
字号
package intnet;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;

public class Server1 {

	public static void main(String[] args) {
		ServerSocket server=null;
		try {
			server=new ServerSocket(6666);
		} catch (IOException e) {
			e.printStackTrace();
			System.exit(1);
		} 
		Socket client=null;
		try {
			System.out.println("waiting for client...");
			client=server.accept();
			System.out.println("a client has been accepted!");
		} catch (IOException e) {
			e.printStackTrace();
			System.exit(1);
		}
		//开始通信
		PrintWriter writer =null;
		BufferedReader reader=null;
		try {
			writer =new PrintWriter(
					new OutputStreamWriter(client.getOutputStream()));
			reader=new BufferedReader(new InputStreamReader(client.getInputStream()));
			boolean sbye=false,cbye=false;
			String info=null;
			while(!sbye&&!cbye){
				if(!cbye){
					info=reader.readLine();
				}
				if(info==null){
					continue;
				}
			if(info!=null&&info.compareTo("bye.")==0){
					cbye=true;
					//向客户端发结束消息
					if(!sbye){
						writer.println("bye.");
						sbye=true;
					}
				}
				System.out.println("received from client:"+info);
				writer.println("server reply "+info);
				writer.flush();
			}
		} catch (IOException e1) {
			e1.printStackTrace();
		} 
		try {
			writer.close();
			reader.close();
			client.close();
			server.close();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?