昨天学习了IO Socket~~看得我有点蒙,读了很多源代码和网上的例子后,以下是我的了解:
服务端口:
(1)ServerSocket 生成一个肯德基店,名为server,ServerSocket server=new ServerSocket(8000),8000为店铺的门排号;
(2)Socket 生成一个窗口,名为client;这个名为client的窗口的作用是连接顾客和商店的,所以client=server.accept();为阻塞状态,等待顾客的点单;
(3)Scanner生成一个听筒,名为scanner,用来接听顾客的要求,是窗口的输入,所以scanner =new Scanner(client.getInputStream());
(4)PrintWriter生成一个话筒,名为 out,用来反馈顾客的要求,是窗口的输出,所以out=new PrintWriter(client.getOutputStream(),true);
(5)scanner.nextline()为听筒接收到的顾客的需求;
(6)out.println(“香辣鸡腿堡已经售完!”);为服务员在话筒里反馈给顾客的要求;
(7)关闭out.close(); scanner.close(); client.close();
客户端口:
(1)Socket 生成一个顾客,名为tom, Socket tom=new Socket("127.0.0.1",8000);顾客找到门牌号为8000的肯德基;
(2)Scanner生成一个听筒,名为scanner,用来接听肯德基服务员的反馈,tom接收服务,所以scanner =new Scanner(tom.getInputStream());
(3)PrintWriter生成一个话筒,名为 out,用来向服务员提要求,是tom的输出,所以out=new PrintWriter(tom.getOutputStream(),true);
(4)out.println(“我想要香辣鸡腿堡!!”);为tom提出的要求;
(5)scanner.nextline()为听筒接收到服务员的反馈;
(6)关闭out.close();tom.close(); scanner.close();
注意事项!!!
(1)client.getLocalSocketAddress(),打印出来为127.0.0.1:8000,client.getLocalAddress())打印出来为127.0.0.1,没有端口号。
(2)先启动服务端,在启动客户端,先开门才能营业~
以上是我的初步理解,会有些不全面,希望可以对初学者有帮助,有问题欢迎提出~~~