




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
说到J2ME网络编程的两种方法,相信多有进行Java培训的学员都不会陌生。这个是java培训中较难理解的一个地方,下面就让达内的讲师为学员们介绍。说到J2ME网络编程的两种方法,相信多有进行Java培训的学员都不会陌生。这个是java培训中较难理解的一个地方,下面就让达内的讲师为学员们介绍。本文描述了在J2me中开发主要使用的网络连接方法,分别详细介绍了使用http和socket两种方法。HttpConnection首先我们先来看一个简单的例子吧:主要用到的java包:javax.microedition.io.*;publicStringrequestGET(StringURLString,StringURL)throwsIOException/=/URLString是HTTP地址,URL为后面的参数/这里的例子是发送用的用户名和密码到服务器端进行用户验证/比如StringURLString=:8080/login.jsp;/StringURL=?Name=+this.txtName+&Pass=+this.txtPass/=HttpConnectionhpc=null;DataInputStreamdis=null;booleannewline=false;Stringcontent=;try/=/建立连接/=hpc=(HttpConnection)Connector.open(URLString+URL);hpc.setRequestMethod(HttpConnection.GET);dis=newDataInputStream(hpc.openInputStream();intcharacter;/=/读取返回的HTTP内容/=while(character=dis.read()!=-1)if(char)character=)newline=true;continue;elseif(char)character=n&newline)content+=n;newline=false;elseif(newline)content+=+(char)character;newline=false;elsecontent+=(char)character;newline=false;catch(IOExceptione)System.out.print(ERROR:+e);finallyif(hpc!=null)hpc.close();hpc=null;if(dis!=null)dis.close();/=/由于内容可能有中文,所以在接受到信息后要对内容进行字符集的转换/=content=(unicodeTogb2312(content).trim();returncontent;publicstaticStringunicodeTogb2312(Strings)if(s=null)return;if(s.equals()returns;tryreturnnewString(s.getBytes(ISO8859_1),gb2312);catch(Exceptionuee)returns;以上就是一个简单的HTTP连接并且从服务器获取响应信息的例子,应该很简单了吧。客户端就是上面那个样子,服务器端只要配置好IIS,增加一个网页来对客户端的请求做出响应就行了,其实跟一般的网页请求没有多大区别,很简单吧!上面的Socket客户端连接程序就应该算是完工了,下面是搭建服务器端对客户端的连接进行响应。建立服务器端程序,只需要有以下代码即可:SocketConnection下面还是从实例入手讲一下J2me的Socket编程。程序首先打开以IP地址为:6666的Socket连接,如果连接失败则抛出异常,程序结束。如果Socket连接成功,则继续。publicbooleanSocketConn(Strings)throwsIOException/=/s是Socket连接字符串/这里的例子是发送用的用户名和密码到服务器端进行用户验证/比如Strings=socket:/:6666/=privateStreamConnectionconServer;privateStringstrServerAddr;privatebooleanbConnected;conServer=null;strServerAddr=s;/连接地址bConnected=false;/连接状态tryconServer=(StreamConnection)Connector.open(strServerAddr);catch(Exceptionexception)System.out.println(Connectservererror);bConnected=false;returnfalse;bConnected=true;System.out.println(connectok!);returntrue;上面的Socket客户端连接程序就应该算是完工了,下面是搭建服务器端对客户端的连接进行响应。建立服务器端程序,只需要有以下代码即可:.try/建立端口为6666的socket服务器ServerSocketConnectionSocketSer;SocketSer=(ServerSocketConnection)Connector.open(socket:/:6666);/等待客户端连接SocketConnectionsc;/如有连接,则新增一个线程对连接进行处理sc=(SocketConnection)SocketSer.acceptAndOpen();.while(true)/对sc的InputStream和OutPutStream进行处理.在这里需要说明一下我的看法,手机通过Socket连接上服务器后,由于我用的是中国移动的号码,所以跑的是GPRS通道,我所建立的服务器连接所获得的客户端IP只是一个虚拟IP,而这个IP估计是以用户当前最近的移动机站的编码通过一些变化而产生的,所以当用户不停的移动的时候,IP也许会发生变化(这里我就不太清楚了),有兴趣的可以去看看“移动虚拟IP技术”相关的报道。本来我以前的想法是用户连接到服务器后只要IP不变就可以实现服务器向客户端广播数据,但是这个IP并非是长连接,服务器在广播数据的时候也许会有很大部分的客户端的IP会出现变化,所以最后还是采用由客户端主动发送信息的形式。感觉有点扯远了,还是回到正题吧。客户端在建立Socket连接成功后,即可向服务器发送信息,以下是发送信息模块protectedbooleansendData(byteabyte0)/自己替换System.out.println(send:+bConnected);/判断连接情况if(!bConnected)returnfalse;OutputStreamoutputstream=null;tryoutputstream=conServer.openOutputStream();/写信息到outputstream中outputstream.write(abyte0);/我的理解是强制送出所有已经写了的信息outputstream.flush();outputstream.close();catch(Exceptionexception)System.out.println(SendDataerror);bConnected=false;tryif(outputstream!=null)outputstream.close();/调用断开连接的函数disconnect();catch(Exceptionexception1)returnfalse;returntrue;下面是读取服务器响应的信息,其他的就不一一说了,把outputstream改为inputstream,然后使用inputstream的read方法就可以了。.inputstream=conServer.openInputStream();.以上就是J2me开发主要使用的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025版大型养殖场产业链整合与供应链管理合同
- 中风康复护理查房
- 静脉穿刺过程的安全护理策略
- 药物输注速度的精准管理
- 抽烟与健康教育的护理查房
- 全科护理交接班安全制度
- 中级经济师备考工具试题及答案
- 术后恢复期患者安全管理
- 导尿管管理的最佳护理实践
- 工贸企业坍塌课件
- 2024年广东汕头市投资控股集团有限公司招聘笔试参考题库含答案解析
- 盐城市2022-2023学年七年级下学期数学期末试卷(含答案解析)
- 新版译林英语五年级上第一二单元测试含听力文本和答案
- 膝关节退行性变的护理
- 急性肺栓塞课件
- 洁净区臭氧消毒效果验证方案
- 停车场数据分析与管理
- 教育教学设备采购合同
- Android Studio开发实战(从零基础到App上线)
- 2023年吕梁学院教师招聘考试笔试题库及答案
- 2023年贵州省水利投资集团有限责任公司招聘笔试参考题库含答案解析
评论
0/150
提交评论