java nio scoket的连接问题 10

下面是一个测试例子,主要是连接地址不同,请在注释的地方切换分别测试.希望能详细讲解一下这两个过程,特别是连127.0.0.1这个1)InetSocketAddressad... 下面是一个测试例子,主要是连接地址不同,请在注释的地方切换分别测试.希望能详细讲解一下这两个过程,特别是连127.0.0.1这个
1) InetSocketAddress addr = new InetSocketAddress("www.baidu.com", 80);
2) //InetSocketAddress addr = new InetSocketAddress("127.0.0.1", 80);

/**
* NIO_baidu.java
*
* Version 1.0
*
* 2014-1-16
*
* Copyright www.wangjiu.com
*/
package com._0116;

import java.net.InetSocketAddress;
import java.nio.ByteBuffer;
import java.nio.channels.SocketChannel;

/**
* TODO (描述类的功能)
*
* @author d
* 2014-1-16
*
*/
public class NIO_baidu {

/**
* TODO (描述方法的作用)
*
* @param args
* @throws Exception
*/
public static void main(String[] args) throws Exception {
// 用下面两个连接地址分别测试
InetSocketAddress addr = new InetSocketAddress("www.baidu.com", 80);
//InetSocketAddress addr = new InetSocketAddress("127.0.0.1", 80);
SocketChannel channel = SocketChannel.open(addr);

System.out.println();
byte[] header = "GET / HTTP/1.1\r\nHost: www.baidu.com\r\n\r\n".getBytes();
ByteBuffer buf = ByteBuffer.allocate(header.length);
buf.put(header);
buf.flip();
channel.write(buf);

buf = ByteBuffer.allocate(1024);
int count = channel.read(buf);
while(count != -1) {
buf.flip();
while(buf.hasRemaining()){
System.out.print((char)buf.get());
}
buf.clear();
count = channel.read(buf);
System.out.print(count);
}
channel.close();
}

}
第一个的返回结果是:就是百度首页的html代码,太长了贴不下.=============第二个返回结果是:HTTP/1.1 200 OKDate: Fri, 17 Jan 2014 02:39:29 GMTServer: Apache/2.2.25 (Win32)Last-Modified: Sat, 20 Nov 2004 07:16:24 GMTETag: "80c5b3c60-2c-3e94b66a46200"Accept-Ranges: bytesContent-Length: 44Content-Type: text/html<html><body><h1>It works!</h1></body></html>
====================
连接127.0.0.1时走的本地服务器,这时你可以直接访问http://127.0.0.1他返回的就是it works页面,没有请求百度.看http协议,api里很通俗看什么呢? 就是这样,没满意答案.
展开
 我来答
红莲公爵
2014-01-17 · TA获得超过392个赞
知道小有建树答主
回答量:193
采纳率:0%
帮助的人:55.9万
展开全部
看看API吧,主要是看看关键的几个方法,理解起来就容易了
追问
我看了InetSocketAddress ,SocketChannel的api,还是没明白.
能不能给点细节,有点针对性,谢谢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
谈论用户名
2014-01-17 · TA获得超过1189个赞
知道小有建树答主
回答量:3981
采纳率:21%
帮助的人:1067万
展开全部
查API看一下。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-01-17
展开全部
等待解决方案
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-01-17
展开全部
…………………………
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式