Topic: 谁试过在MIDP1.0下用http连接Socket Server? |
Print this page |
1.谁试过在MIDP1.0下用http连接Socket Server? | Copy to clipboard |
Posted by: murphys Posted on: 2003-09-14 15:36 原有的一个系统,Client和Server通过Socket通信,现在要加上移动设备访问 服务器的功能,考虑到大部分机型不支持Socket,采用http连接每次获取数据 后断开。测试时发现可以连接并发送数据,但似乎HTTP在此之上加了些东西 每次发送的数据到Server端就变了。比如说我用IE直接访问Socket Server( 类似于地址栏直接输入http://localhost:listenPort/)则Socket Server打印出来 我传送了361个字节的数据(是否IE封装的request请求就是361字节?)如果用 我自己的MIDP程序通过http协议访问Socket Server的话,传送16个字节的 数据则Socket Server端输出也是16字节,问题是打印出来发现数据完全不对 我对协议部分不是特别了解,请各位大虾指教~ 客户端连接部分代码如下: byte[] buf = packData(); //这里我封装了一个16字节的数据包 try{ HttpConnection hc = (HttpConnection)Connector.open("http://localhost:12345", Connector.READ_WRITE, false); hc.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); hc.setRequestProperty("User-Agent", "Profile/MIDP-1.0 Configuration/CLDC-1.0"); hc.setRequestProperty("Content-Language", "en-US"); hc.setRequestProperty("Accept", "application/octet-stream"); hc.setRequestProperty("Connection", "close"); //向Socket Server发送数据 out = new DataOutputStream(hc.openOutputStream()); out.write(buf,0,buf.length); out.flush(); int length = (int)hc.getLength(); byte[] data = null; //接收服务器端反馈 //以下代码接收服务器端响应数据,可由于发送过去的数据格式就不对 //所以始终无法得到返回 is = new DataInputStream(hc.openInputStream()); if( length != -1 ){ int total = 0; data = new byte[length]; System.out.println("data length:"+data.length); while( total < length ){ total += is.read( data, total, length - total ); } } else { ByteArrayOutputStream tmp = new ByteArrayOutputStream(); int ch; while( ( ch = is.read() ) != -1 ){ tmp.write( ch ); } data = tmp.toByteArray(); System.out.println("data is -1:"+data.length); } |
2.Re:谁试过在MIDP1.0下用http连接Socket Server? [Re: murphys] | Copy to clipboard |
Posted by: donnan Posted on: 2003-09-29 16:58 socket是socket http是http 不能通用 我也正为这事情烦恼着了 |
3.Re:谁试过在MIDP1.0下用http连接Socket Server? [Re: murphys] | Copy to clipboard |
Posted by: carl1980 Posted on: 2003-10-29 11:40 手机和HTTP通讯做Base64编码,HTTP和Socket通讯要做解码在发送。服务端对中文做Unicode编码。 |
Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1 客服电话 18559299278 客服信箱 714923@qq.com 客服QQ 714923 |