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

📄 singleclient.java.bak

📁 Java程序设计培训教程2
💻 BAK
字号:
import java.io.*;
import java.net.*;
/**类SingleClient是单客户机制的客户端程序*/
public class SingleClient{
	public static void main(String args[]){
	/**由于Socket的生成和关闭都有可能产生错误,因此需要进行例外处理*/
	try{
		/**生成一个Socket对象socketObj,连接到本地机器上的4700端口*/
		Socket socketObj=new Socket("127.0.0.1",4700);
		/*生成InputStreamReader类对象streamObj1,将客户端的键盘输入System.in作为参数构造该对象*/
		InputStreamReader streamObj1 = new InputStreamReader(System.in);
		/*使用上面InputStreamReader类的对象streamObj1生成BufferedReader类对象buffObj1*/
		BufferedReader buffObj1 = new BufferedReader(streamObj1);
		/*通过socket对象的getOutputStream()方法获得的OutputStream对象,并用它创建PrintWriter类的对象*/
		PrintWriter outObj = new PrintWriter(socketObj.getOutputStream());
		/*根据socket获得的输入流创建BufferedReader类对象,使得读取数据的效率提高*/
		BufferedReader buffObj2 = new BufferedReader(
			new InputStreamReader(socketObj.getInputStream()));
		/*声明字符串变量readStr,用于存放客户端输入的一行字符串*/			
		String readStr;
		/*将客户端输入的一行字符串放入字符串变量readStr中*/
		readStr = buffObj1.readLine();
		/*while循环控制客户端通话的结束,当客户端输入的字符串为“end”时结束*/
		while(!readStr.equals("end"))
		{
			/*在服务器端将客户端输入的字符串输出*/
			outObj.println(readStr);
			/*在服务器端强制输出客户端的输入字符串*/
			outObj.flush();
			/*在客户端输出自己输入的字符串*/
			System.out.println("Client:"+readStr);
			/*在客户端输出服务器端输入的字符串*/
			System.out.println("Server:"+buffObj2.readLine());
			/*读取客户端输入的字符串,放入字符串变量readStr中*/
			readStr = buffObj1.readLine();
		}
		/*关闭socket的输出流*/
		outObj.close();
		/*关闭socket的输入流*/
		buffObj2.close();
		/*关闭socket*/
		socketObj.close();
		}catch(Exception e){
		System.out.println("Error"+e);
		}
	}
}

⌨️ 快捷键说明

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