background image

Java 源代码:socket 里 chunk 问题的解决方法

前一段时间有人说自己碰到了 http 协议里的 chunk 问题,其实你自己实现 chunk 也可
以,就是做个状态位的判断是了。本人实现过,在 WTK 虚拟机还没有公开的时候,但是
wtk 公开了你就用 wtk 里面的源马吧,写的很好,不过公开的代码里竟然少了行代码,
这是在让我纳闷,不知道 sun 是故意的还是粗心,下面的代码增加了 proxy 支持,实在
原有基础上改的,此代码已经应用很多应用,各位网友放心使用,有问题欢迎交流。
支持 MIDP1.0 和 MIDP2.0,如果连接 80 或者 8080 端口,请申请证书,代码很多我给
注释了,如果需要使用,请自行打开。
用法跟 HttpConnection 一样,只是在初始化的时候,我给修改成了 openX,如果设置
proxy,可以直接调用 setProxyHost,注意的是,在放置 url 的时候不要忘记写好端口
号。
SocketConnectionExt   socktCon   =   SocketConnectionExt.openX(URL, 
Connector.READ_WRITE, true);
  System.out.println("URL: " + mURL);
  //socktCon.open(mURL, Connector.READ_WRITE, true);
  if(useProxy) socktCon.setProxyHost("10.0.0.172:80");
 
 

import javax.microedition.io.StreamConnection;
/*
 * Copyright (c) 1999-2001 Sun Microsystems, Inc. All Rights Reserved.
 *
 * This software is the confidential and proprietary information of Sun
 * Microsystems, Inc. ("Confidential Information").  You shall not
 * disclose such Confidential Information and shall use it only in
 * accordance with the terms of the license agreement you entered into
 * with Sun.
 *
  *   SUN   MAKES   NO   REPRESENTATIONS   OR   WARRANTIES   ABOUT   THE 
SUITABILITY OF THE
 * SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO 
THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
  * PURPOSE, OR NON-INFRINGEMENT. SUN SHALL NOT BE LIABLE FOR ANY 
DAMAGES
  *   SUFFERED   BY   LICENSEE   AS   A   RESULT   OF   USING,   MODIFYING   OR