📄 singleclient.java.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 + -