一.单向服务器端写出及单向客户端读入
服务器端:
1 import java.io.DataOutputStream; 2 import java.io.IOException; 3 import java.io.OutputStream; 4 import java.net.ServerSocket; 5 import java.net.Socket; 6 /** 7 * 一.单边服务器客户端写出和读取 8 * public abstract class OutputStream extends Object 9 * implements Closeable, Flushable 10 * 这个抽象类是表示字节输出流的所有类的超类。 输出流接收输出字节并将其发送到某个接收器。 11 * 12 * 二.public int getPort()返回此套接字连接到的远程端口号。 13 * 14 * 三.public InetAddress getInetAddress()返回套接字所连接的地址。 15 */ 16 public class TestServer { 17 public static void main(String[] args) { 18 try { 19 //服务器连接端口 20 ServerSocket ss=new ServerSocket(8888); 21 while(true){ 22 //连接插口 23 Socket s=ss.accept(); 24 //通过插口写出数据 25 OutputStream out=s.getOutputStream(); 26 //包装一层数据流管道 27 DataOutputStream dat=new DataOutputStream(out); 28 //以UTF的形式写出 29 dat.writeUTF("俱怀逸兴壮思飞,"+s.getInetAddress()+ 30 "欲上青天揽明月"+s.getPort()+"人生得意须尽欢"); 31 //关闭数据流,关闭插口 32 dat.close(); s.close(); 33 } 34 } catch (IOException e) { 35 e.printStackTrace(); 36 System.out.println("程序运行异常!"); 37 } 38 39 } 40 }
客户端:
1 import java.io.DataInputStream; 2 import java.io.IOException; 3 import java.io.InputStream; 4 import java.net.ConnectException; 5 import java.net.Socket; 6 import java.net.UnknownHostException; 7 8 /** 9 * 客户端单向读取 10 */ 11 public class TestClient { 12 public static void main(String[] args) { 13 try { 14 //确定客户端端口及服务器连接端口 15 Socket s=new Socket("127.0.0.1",8888); 16 //读取服务器端发送的数据 17 InputStream in=s.getInputStream(); 18 DataInputStream dat=new DataInputStream(in); 19 //以UTF的形式读取 20 System.out.println(dat.readUTF()); 21 //关闭流和插口 22 dat.close(); s.close(); 23 } catch (ConnectException con) { 24 con.printStackTrace(); 25 System.out.println("服务器连接失败!"); 26 } catch (IOException e) { 27 e.printStackTrace(); 28 } 29 } 30 }
后续待补充...
原文地址:https://www.cnblogs.com/zjm1999/p/10165728.html
时间: 2024-10-20 14:44:07