⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 singleserver.java.bak

📁 Java程序设计培训教程2
💻 BAK
字号:
import java.io.*;
import java.net.*;
/**类SingleServer是单客户机制的服务器端程序*/
public class SingleServer{
	public static void main(String args[]){
	/**由于ServerSocket的生成和关闭都有可能产生错误,因此需要进行例外处理*/
	try{
		/**声明一个ServerSocket对象,初始值为null*/
		ServerSocket serverObj = null;
		try{
			/*生成serverSocket对象,该对象负责监听端口4700*/
			serverObj = new ServerSocket(4700);
		}catch(Exception e){
			System.out.println("对不起,不能监听端口:"+e);
		}
		/**生成一个Socket对象,初始值为null*/
		Socket clientObj = null;
		try{
			/*将Socket和ServerSocket连接起来*/
			clientObj = serverObj.accept();
		}catch(Exception e){
			System.out.println("错误:"+e);
		}
		/*声明一个字符串变量,用于存放读取的一行数据*/
		String lineStr;
		/*根据socket对象获得的输入流生成InputStreamReader类的对象streamObj1*/
		InputStreamReader streamObj1 = new InputStreamReader(clientObj.getInputStream());
		/*根据streamObj1生成BufferedReader类的对象buffObj1,以提高数据读取效率*/
		BufferedReader buffObj1 = new BufferedReader(streamObj1);
		/*通过socket对象的getOutputStream()方法获得的OutputStream对象创建PrintWriter类的对象*/
		PrintWriter outObj = new PrintWriter(clientObj.getOutputStream());
		/*生成一个InputStreamReader对象,对应服务器端键盘的输入*/
		InputStreamReader streamObj2 = new InputStreamReader(System.in);
		/*根据上面的streamObj2输入流创建BufferedReader类的对象,以提高数据读取效率*/
		BufferedReader buffObj2 = new BufferedReader(streamObj2);
		/*在服务器方输出客户端输入的一行字符串信息*/
		System.out.println("Client:"+buffObj1.readLine());
		/*读取服务器端键盘输入的数据,放在字符串lineStr中*/
		lineStr = buffObj2.readLine();
		/*判断服务器端输入的字符串是不是“end”,如果不是就进行循环*/
		while(!lineStr.equals("end"))
		{
			/*将服务器端输入的字符串通过socket在客户端输出*/
			outObj.println(lineStr);
			/*在客户端强制输出服务器端输入的字符串*/
			outObj.flush();
			/*在服务器端输出自己这端键盘输入的字符串*/
			System.out.println("Server:"+lineStr);
			/*在服务器端输出客户端输入的信息*/
			System.out.println("Client:"+buffObj1.readLine());
			/*将服务器端键盘输入的信息放在字符串变量lineStr中*/
			lineStr = buffObj2.readLine();
		}
		/*关闭socket的输入流*/
		buffObj1.close();
		/*关闭socket的输出流*/
		outObj.close();
		/*关闭socket*/
		clientObj.close();
		/*关闭ServerSocket*/
		serverObj.close();
		}catch(Exception e){
		System.out.println("Error:"+e);
		}
	}
}

⌨️ 快捷键说明

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