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的异常错误
《日后学习的聊天实现》


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


浙公网安备 33010602011771号