这些日子很少写代码,写起来都十分的生疏,拾回以前的那些曾经写过的,既陌生而又很亲切。想起当初被I/O弄得头昏转向的,而现在觉得有了明朗。想再想去认识一下IO流的学习,再去进一步去认识一下,写了一个很简单很简单的聊天,没有界面,直接就用控制台。标记一下。分为两部分,第一个部分为服务端,另一个为客户端。
server:
import java.io.BufferedReader; import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.InputStreamReader; import java.net.ServerSocket; import java.net.Socket; public class Server01 { public static void main(String[] args) throws Exception { DataInputStream dis = null; System.out.println("server start..."); ServerSocket server = new ServerSocket(8888); Socket socket = server.accept(); String str = null ; while (true) { dis = new DataInputStream(socket.getInputStream());//接受数据 System.out.println("client say: "+dis.readUTF()) ;//显示数据 System.out.print("I say :"); str = new BufferedReader(new InputStreamReader(System.in)).readLine() ;//读入字符串 new DataOutputStream(socket.getOutputStream()).writeUTF(str); if(str.equalsIgnoreCase("88")){break ;} } dis.close() ; socket.close() ; } }
Client:
import java.io.BufferedReader; import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.InputStreamReader; import java.net.Socket; public class Client01 { public static void main(String[] args) throws Exception { DataInputStream dis = null; System.out.println("client start.."); Socket socket = new Socket("127.0.0.1", 8888); String str = null; while (true) { System.out.print("I say:"); str = new BufferedReader(new InputStreamReader(System.in)).readLine();//读入字符 if (str.equalsIgnoreCase("88")) {break;} new DataOutputStream(socket.getOutputStream()).writeUTF(str);// 发送数据 dis = new DataInputStream(socket.getInputStream()) ;//读入服务器信息 System.out.println("server say:"+dis.readUTF()) ;//显示服务器信息 } dis.close() ; socket.close() ; } }