绝想首页

Icejava源码阅读笔记(一)

张洁xgz0ua [开心] 2013-03-13 12:00:33 星期三 晴天 查看:88 回复:0 发消息给作者

1.Connector(interface)连接器
职责:建立和其它主机的socket连接,核心接口方法为connect(int timeout)

 

2.TcpConnector(class) implements Connector
建立tcp的socket连接

3.Transceiver(interface)传输器
职责:对由connector打开的socket接口做read和write操作

4.TcpTransceiver implements Transceiver
参考2

5.Connector --> connect(int timeout) --> Transceiver

 

6.测试代码


  Communicator ci = Ice.Util.initialize();
  Instance is = Ice.Util.getInstance(ci);
  Connector conn = new TcpConnector(is,"xxx.xxx.xxx.xxx",80);
  assert(conn!=null);
  Transceiver ts = conn.connect(30);
  assert(ts!=null);
  BasicStream bs = new BasicStream(is);
  bs.writeString("GET / HTTP/1.1 ");
  ts.write(bs,30);
  bs.reset();
  ts.read(bs, 300);
  System.out.println(bs.readString());

 

上面的代码利用Icejava的底层网络通信机制完成http请求。
测试结果:

  在服务器端的access_log可以看到访问记录,说明请求发送成功,但请求的协议头有问题,返回400状态码

顶一下(31 写日记 1217789 234137
分享排行

 

 

留住已经逝去的峥嵘岁月 记住曾经绽现的万种风情 在记忆即将淡漠的时候 来把这些重新回味

Copyright (C) 2008-2014 www.juexiang.com, All Rights Reserved.

京ICP备2023001011号-3   京公网安备11010802011908号

客服QQ 1017160561 违法和不良信息举报电话 13148464312 邮箱 1017160561@qq.com