JAVA代码:通过Socket读取返回的数据

本文介绍了一个简单的Java程序,该程序通过Socket连接到163邮箱的SMTP服务器并读取其返回的数据。程序首先创建一个Socket连接,然后设置超时时间,并使用指定编码的BufferedReader来读取返回的信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 
  1. package net.java2000.net;
  2. import java.io.BufferedReader;
  3. import java.io.IOException;
  4. import java.io.InputStreamReader;
  5. import java.net.InetAddress;
  6. import java.net.Socket;
  7. /**
  8.  * 通过Socket读取返回的数据。
  9.  * 
  10.  * @author 赵学庆,Java世纪网(java2000.net)
  11.  * 
  12.  */
  13. public class SocketGet {
  14.   public static void main(String[] args) {
  15.     try {
  16.       // 创建连接
  17.       InetAddress addr = InetAddress.getByName("smtp.163.com");
  18.       int port = 25;
  19.       Socket socket = new Socket(addr, port);
  20.       
  21.       // 如果超过这个时间没有新的数据,则不再继续等待数据
  22.       socket.setSoTimeout(1000);
  23.       // 创建读取数据的Reader,里面指定了需要的编码类型。
  24.       BufferedReader rd = new BufferedReader(new InputStreamReader(socket.getInputStream(),
  25.           "UTF-8"));
  26.       // 读取每一行的数据.注意大部分端口操作都需要交互数据。
  27.       String str;
  28.       while ((str = rd.readLine()) != null) {
  29.         System.out.println(str);
  30.       }
  31.       rd.close();
  32.     } catch (IOException e) {
  33.       e.printStackTrace();
  34.     }
  35.   }
  36. }

运行结果
  1. 220 163.com Anti-spam GT for Coremail System (163com[071018])
  2. java.net.SocketTimeoutException: Read timed out
  3.     at java.net.SocketInputStream.socketRead0(Native Method)
  4.     at java.net.SocketInputStream.read(Unknown Source)
  5.     at sun.nio.cs.StreamDecoder.readBytes(Unknown Source)
  6.     at sun.nio.cs.StreamDecoder.implRead(Unknown Source)
  7.     at sun.nio.cs.StreamDecoder.read(Unknown Source)
  8.     at java.io.InputStreamReader.read(Unknown Source)
  9.     at java.io.BufferedReader.fill(Unknown Source)
  10.     at java.io.BufferedReader.readLine(Unknown Source)
  11.     at java.io.BufferedReader.readLine(Unknown Source)
  12.     at net.java2000.net.SocketGet.main(SocketGet.java:31)

原文: http://www.java2000.net/p9148
更多代码,请访问: http://code.java2000.net













<script type="text/javascript"> </script> <script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"> </script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值