|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
自己的整个学习思路完全被老师的讲课思路所牵制,这样几节课听下来,恐怕自己的见解都应该是书里的知识点了,根本谈不上自身发现问题,分析问题,和解决问题能力的切实提高。
在JavaME的收集开辟中,我们一般利用的两种收集通讯协定是HTTP超文本传输协定和Socket套接字协定,可是因为HTTP是短毗连,因而在某些手机中大概会呈现不休呈现毗连收集的提醒,因而良多时分我们经由过程Socket来完成收集毗连。在Socket开辟中,我们使用的对照多的是手机端与手机端之间的通讯,另有手机与服务器的通讯。上面分离复杂归结下两种通讯的基础完成。
1、手机端与服务器真个Socket通信我们一般必要在手机中完成某些功效,而这些功效必要服务器供应服务,因此在手机中必要创建与服务器之间的无效通讯。在服务器端我们利用的是ServerSocket来创立服务socket,代码如:ServerSocketserver=newServerSocket(4321);,如许就翻开了一个ServerSocket,然后我们利用ServerSocket的accept办法来监听客户端创建的毗连,该办法在没有客户端创建哀求的时分会一向处于堵塞形态,直到有毗连创建则构成Socket对象,服务器一般必要为多客户端同时供应服务,因而一样平常情形下,我们经由过程在一个轮回中不休监听客户端毗连,并为每个毗连创立一个线程供应自力服务。
ServerSocket server = new ServerSocket(4321);
while(true) {
socket = server.accept();
new ServerThread(socket).start();
}
然后在线程中翻开socket的通讯数据流与客户端举行通信。
在JavaME中,与JavaSE的socket利用体例有些分歧,在翻开Socket毗连的时分,利用的不是Socket,而是SocketConnection,并由JavaME中的收集毗连类Connector的open办法来创建socket毗连,同时,因为open办法前往的是Connection对象,因而必要将其转化为SocketConnection对象。
SocketConnectionsc=(SocketConnection)Connector.open("socket://127.0.0.1:4321");如许就翻开了一个socket毗连对象,然后经由过程猎取该socket的通讯流就能够跟服务器之间举行数据互换。
2、手机端与手机端之间的Socket通信有些开辟使用中,完成了手机与手机之间间接的通信,这就必要让一个手机作为服务端,而另外一手机作为客户端来处置,作为客户真个Socket利用办法与以上(一)中不异,分歧的次要是作为服务真个手机程序完成。一样的,在JavaME中并非经由过程ServerSocket来创立服务Socket的,而是经由过程ServerSocketConnection来完成,而且一样是经由过程Connector来翻开毗连,利用的办法是acceptAndOpen,详细完成以下:
ServerSocketConnection ssc = (ServerSocketConnection)Connector.open("socket://:1234");
SocketConnection sc = (SocketConnection)ssc.acceptAndOpen();
在失掉SocketConnection对象以后即可以经由过程猎取响应的socket数据流举行通讯。
DataInputStream dis = sc.openDataOutputStream();
DataOutputStream dos = sc.openDataInputStream();
以上为分离敌手机与服务器端之间、手机与手机之间经由过程Socket举行通信的基础办法。
从一个编程语言的普及程度来将,一个好的IDE是至关中要的,而现在的java的IDE虽然已经很好了,但是和.net网页编程比起来还是稍微差一些的,这是个客观事实。java要想普及的更好。DE是必须加以改进的。 |
|