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

 
  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 type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值