19.网络

本文介绍了Socket的概念及其在网络通信中的作用,详细解释了客户端如何通过Socket读取和发送数据,同时展示了服务器端如何接收和响应客户端请求的具体实现过程。
1.Socket

Socket是个代表两台机器之间网络连接的对象。

建立Socket连接需要知道两项关于服务的信息:1.IP地址; 2.端口号
端口号:是一个16位宽,用来识别服务器上特定程序的数字,并且0~1023留给已知的特定服务使用。
 
2.客户端
1.使用BufferedReader从Socket上读取数据
   建立对服务器Socket连接
   Socket chatSocket = new Socket("127.0.0.1",5000);
   建立连接到Socket上底层输入串流的InputStreamReader
   InputStreamReader  stream = new InputStreamReader(chatSocket.getInputStream());
   建立BufferedReader来读取
   BufferReader reader = new BufferedReader(stream);
   String message = reader.readLine();
 
2.用PrintWriter写数据到Socket上
   对服务器建立Socket连接
   Socket chatSocket = new Socket("127.0.0.1",5000);
   建立链接到Socket的PrintWriter
   PrinterWriter writer = new PrinterWriter(chatSocket.getOutputStream());
   写入数据
   writer.println("message to send");
   writer.print("another message");
 
3.服务器程序
   服务器应用程序用到一对Scoket,客户端与服务器通过socket来沟通。
   一个是等待用户请求的ServerScoket,是在指定端口上的,服务器应用程序开始监听来自4242端口的客户端请求
   ServerSocket serverSock = new ServerSocket(4242);
   服务器创建出与客户端通信的新Socket
   Socket sock = serverSock.accept();
   accept方法会等待用户Socket连上,返回一个不同端口上的socktet便与和客户端通讯。

 



转载于:https://www.cnblogs.com/fruitbolgs/p/4151791.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值