欢迎来到天天文库
浏览记录
ID:41037078
大小:47.00 KB
页数:5页
时间:2019-08-14
《ch35 实验十八 网络编程(二)UDP通信》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、《J2ME程序设计》之网络编程(一)Socket通信实验UDP编程知识一.实验目的:1.掌握JDK的安装和环境变量的配置2.掌握WTK的安装3.能够使用JDK和WTK完成基本的实验内容二.实验内容UDP是什么?UDP是数据报,只负责传输信息,并不保证信息一定会被收到,TCP基于连接,UDP基于报文。UDP通信开发流程:1.服务器监听某个端口2.客户端连接服务器某个端口3.通过Datagram通信服务器监听某个端口:javax.microedition.io.UDPDatagramConnectionjavax.microedition.io.Connecto
2、r专门负责建立各种连接open(“datagram://:端口”),返回UDPDatagramConnectionUDPDatagramConnection可以获得服务器IP和端口客户端连接服务器端javax.microedition.io.Connector专门负责建立各种连接open(“datagram://IP地址:端口”),返回UDPDatagramConnectionUDPDatagramConnection重要方法:1.newDatagram()2.receive()3.send()【案例1】客户端与服务器端建立连接ServerMIDlet1.j
3、ava文件importjavax.microedition.io.Connector;importjavax.microedition.io.UDPDatagramConnection;importjavax.microedition.midlet.MIDlet;importjavax.microedition.midlet.MIDletStateChangeException;publicclassServerMIDlet1extendsMIDlet{protectedvoidstartApp()throwsMIDletStateChangeExcepti
4、on{try{//监听端口UDPDatagramConnectionudc=(UDPDatagramConnection)Connector.open("datagram://:9999");//System.out.println("IP"+udc.getLocalAddress());5/5《J2ME程序设计》之网络编程(一)Socket通信//System.out.println("端口"+udc.getLocalPort());}catch(Exceptionex){ex.printStackTrace();}}}ClientMIDLet1.java
5、文件importjavax.microedition.io.Connector;importjavax.microedition.io.UDPDatagramConnection;importjavax.microedition.midlet.MIDlet;importjavax.microedition.midlet.MIDletStateChangeException;publicclassClientMIDlet1extendsMIDlet{protectedvoidstartApp()throwsMIDletStateChangeException{
6、try{//连接到服务器端UDPDatagramConnectionudc=(UDPDatagramConnection)Connector.open("datagram://127.0.0.1:9999");}catch(Exceptionex){ex.printStackTrace();}}}【案例2】客户端连接服务器,在服务器显示客户端信息ServerMIDlet2.java文件importjavax.microedition.midlet.MIDletStateChangeException;publicclassServerMIDlet2exten
7、dsMIDlet{privatefinalintMAX=255;protectedvoidstartApp()throwsMIDletStateChangeException{try{//监听端口UDPDatagramConnectionudc=(UDPDatagramConnection)Connector.open("datagram://:9999");//接受数据报Datagramdg=udc.newDatagram(MAX);udc.receive(dg);byte[]data=dg.getData();System.out.println(new
8、String(data,0,dg.getLength
此文档下载收益归作者所有