J2ME UDP socket聊天程序编程,有用的信息就给分解决方案
发布时间:2010-06-04 22:04:43 文章来源:www.iduyao.cn 采编人员:星星草
J2ME UDP socket聊天程序编程,有用的信息就给分
最近想写一个聊天程序,就是在手机上发送一条字符串通过pc端服务器到另外一个手机上,想用socket网络编程来实现,但是有没有做过相关的项目,网上资料也很少,请各位帮帮出出注意,和思路,谢谢:-)
------解决方案--------------------
看看WTK里的networkDemo
------解决方案--------------------
如果是聊天这块的话,建议你去看看XMPP协议,XMPP协议是基于Socket连接的,现在的IM(即时通讯)一般都用XMPP协议来实现。
------解决方案--------------------
字符串怎么到pc上?在pc上做个web程序,通过手机访问它,相当于网上的聊天室。
------解决方案--------------------
楼主好熟啊
咋这么低调哩
------解决方案--------------------
去找一个J2ME的开源IM项目,Lampiro.不过里面代码我基本看不懂。
------解决方案--------------------
不能做到主动push消息,除非客户端自己请求服务器才能知道是否有新消息
http://j2me.phpchinaz.cn/archives/51526
------解决方案--------------------
即时通讯,以上问题都可以解决。
------解决方案--------------------
我也在做这方面的研究,请加我qq:27277834 多多交流
------解决方案--------------------
Server:
package demo1;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import javax.microedition.io.Connector;
import javax.microedition.io.ServerSocketConnection;
import javax.microedition.io.SocketConnection;
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Form;
import javax.microedition.lcdui.TextField;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;
public class SocketServer extends MIDlet implements CommandListener{
private ServerSocketConnection ssc = null;
private SocketConnection sc = null;
private DataInputStream dis = null;
private DataOutputStream dos = null;
private TextField tfMsg = new TextField("输入聊天信息","",255,TextField.ANY);
private Command cmdSend = new Command("发送",Command.SCREEN,1);
private Form frmChat = new Form("聊天界面");
private Display display;
protected void startApp() throws MIDletStateChangeException {
display = Display.getDisplay(this);
display.setCurrent(frmChat);
frmChat.addCommand(cmdSend);
frmChat.append(tfMsg);
frmChat.setCommandListener(this);
try{
ssc = (ServerSocketConnection)Connector.open("socket://:9999");
sc = (SocketConnection)ssc.acceptAndOpen();
dis = sc.openDataInputStream();
dos = sc.openDataOutputStream();
new ReceiveThread().start();
}catch(Exception ex){
ex.printStackTrace();
}
}
public void commandAction(Command c,Displayable d){
if(c==cmdSend){
try{
dos.writeUTF(tfMsg.getString());
}catch(Exception ex){}
}
}
class ReceiveThread extends Thread{
public void run(){
while(true){
try{
String msg = dis.readUTF();
frmChat.append(msg + "\n");
}catch(Exception ex){ex.printStackTrace();}
}
}
}
protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
// TODO Auto-generated method stub
}
protected void pauseApp() {
// TODO Auto-generated method stub
}
}
------解决方案--------------------
Client:
package demo1;
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。
其他相似内容:
-
myeclipse上开发j2me的错误提示怎么看(找个好多没有解决的,CSDN能人出来啊......)
对于javame的提示实在无语啊。如下
java.lang.I...
-
命令行执行java程序,含有多个包
我定义了一个java project 叫project1,
然后建立了两个package,(注意都不是jar包)
一个叫animaltestdr...
-
j2me新手问题
import javax.microedition.midlet.MIDlet;
import javax.microedition.lcdui.*;
public class gamestart extends...
-
j2me中如何用代码判断两次pointerPressed之间的时间差?
j2me中如何用代码判断两次pointerPressed之间的时间差?
------解决方案---...
-
通过电脑上wap浏览器可以进入我的wap网站,但是手机不能上,为什么?
我做了wap网站,通过花生壳挂接到外网上了。
通过电脑上wap浏览器可...
-
不含声音文件,如何播放声音?塞班
今天看了一下“飞信JAVA 1.0版”,安装后,信息提示音跟电子音似的。
解压后,发现只有一堆class文件,和...
-
怎么看wtk的源码?高分求助!
我们平时使用eclipse时,点右键选open declaration,或者按F3即可查看源码。现在我建了一个J2ME Midlet工程...
-
如何使用外部js验证下拉列表是否选择
我想使用js对表单进行验证,其中有一个下拉列表,如何验证这个下拉列表在提交的时候已经做过选...
-
关于GUI的一个问题(分不多了,请谅解)
import java.awt.*;
import java.awt.event.*;
import java.util.*;
public class MyMouseAdap...
-
j2me socket读取服务器中文出乱码
conn = (SocketConnection) Connector.open(addr ,Connector.READ_WRITE);
conn.setSocketOpti...