这些日子很少写代码,写起来都十分的生疏,拾回以前的那些曾经写过的,既陌生而又很亲切。想起当初被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() ;
}
}