RT,请大家用尽量简短语言告诉我,或者告诉我一些资料,我自己看也成,我google出的东西都很零碎。
个人在模拟客户端进行服务端连接的时候就是通过URL openConnection 然后传输数据等等,可是看到好多用socket连接的,比如httpclient中的例子,他不管是get还是post都用到socket我很纳闷。
我对http的理解仅仅停留在 请求和响应,头和实体等等,所以在我用httpclient4.0.1的时候有点无头绪,不知道一个连接的流程是怎样的,
[code="java"] try {
String[] targets = {
"/",
"/servlets-examples/servlet/RequestInfoExample",
"/somewhere%20in%20pampa"};
for (int i = 0; i < targets.length; i++) {
if (!conn.isOpen()) {
Socket socket = new Socket(host.getHostName(), host.getPort());
conn.bind(socket, params);
}
BasicHttpRequest request = new BasicHttpRequest("GET", targets[i]);
System.out.println(">> Request URI: " + request.getRequestLine().getUri());
request.setParams(params);
httpexecutor.preProcess(request, httpproc, context);
HttpResponse response = httpexecutor.execute(request, conn, context);
response.setParams(params);
httpexecutor.postProcess(response, httpproc, context);
System.out.println("<< Response: " + response.getStatusLine());
System.out.println(EntityUtils.toString(response.getEntity()));
System.out.println("==============");
if (!connStrategy.keepAlive(response, context)) {
conn.close();
} else {
System.out.println("Connection kept alive...");
}
}[/code]
附上面的代码,请尽量解释下。
[b]问题补充:[/b]
[quote]你应该去看看tcp/ip协议[/quote]
这兄台速度忒快了,其实我就在等你的。
看那些协议有用么?比如一个连接的流程该怎么走,步骤怎么养,协议都规范了?
还有tcp ip协议有多少内容,不是我偷懒,实在是时间不充裕