java---网络编程基础

《网络相关概念》

 

 

 

 

 《计算机网络基础》

 

 

 

 

 

 《在Java中的网络编程》

 

 

 

 

 通过ip地址获取还不确定使用方法

《Socket》

 

 

 

 

 

 

 

 1 //客户端
 2 public class Client {
 3     public static void main(String[] args) throws IOException {
 4         //连接服务器监听的端口号
 5         Socket socket = new Socket(InetAddress.getLocalHost(), 9999);
 6         //通过socket.getOutputStream(),获取字节输出流
 7         //IO操作
 8         OutputStream outputStream = socket.getOutputStream();
 9         //String.getBytes将字符串转化为byte数组
10         outputStream.write("hello,inetWorld".getBytes());
11         //关闭流和端口
12         socket.close();
13         outputStream.close();
14     }
15 }
 1 //服务端
 2 public class Serve {
 3     public static void main(String[] args) throws IOException {
 4         //1.里面传参是要监听的端口号
 5         //开启监听,等待连接
 6         ServerSocket ss=new ServerSocket(9999);
 7         System.out.println("服务端在9999号端口监听等待");
 8         //2.当用户端没有连接时,程序阻塞,等待连接
 9         //如果连接,返回Socket对象,程序继续
10         Socket socket=ss.accept();
11         System.out.println("连接成功");
12         //3.通过socket.getInputStream(),得到字节输入流(InputStream),
13         //将外来的数据写入到本程序
14         InputStream inputStream=socket.getInputStream();
15         //4.IO操作
16         byte[] bytes=new byte[1024];
17         int readLen=0;
18         while ((readLen=inputStream.read(bytes))!=-1)
19             System.out.println(new String(bytes,0,readLen));
20         //关闭流与端口
21         inputStream.close();
22         ss.close();
23         socket.close();
24     }
25 }

 有个很奇怪的点:当我们

 获取到输入,输出流时,用完了也不要立马关闭

得到两个流都不要用了才关,不知道为啥,只要关了其中一个,另一个再用就会爆Socket Close的异常错误

 

 《日后学习的聊天实现》

 

 

 

 

 《群聊的方案模式》

要是说两个人之间的是直接用户和用户之间的对话,那么群聊就是服务器与用户之间的对话,只是服务器将聊天内容放到共享屏幕之中去了

 

posted @ 2022-08-15 13:56  次林梦叶  阅读(24)  评论(0)    收藏  举报