kingxip 2009-09-01 09:33
浏览 382
已采纳

Socket到底是什么

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协议有多少内容,不是我偷懒,实在是时间不充裕

  • 写回答

3条回答 默认 最新

  • wanghaolovezlq 2009-09-01 09:51
    关注

    TCP-IP详解卷一:协议

    有30章,你可以只看一些就够理解tcp,socket之类的,没时间当然就选重点看

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器