首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > BlackBerry >

怎么在黑莓模拟器下实现socket通信啊

2012-12-20 
如何在黑莓模拟器上实现socket通信啊?我建了一个客户端和一个服务器客户端public class Client {StreamCon

如何在黑莓模拟器上实现socket通信啊?
我建了一个客户端和一个服务器
客户端
public class Client {
StreamConnection  conServer = null;
    boolean isConnected = false;

public boolean SocketConn(String address,String port) throws IOException{
String strServerAdd = "socket://"+address+":"+port;
    try {
    conServer = (StreamConnection)Connector.open(strServerAdd);  
} catch (Exception e) {
System.out.println("Conect server error!");
return false;
}
if(conServer==null){
isConnected = false;
return false;
}
isConnected = true;
System.out.println("Conect success!");
return true ;
}

服务器
public class Service extends Thread{
ServerSocketConnection SocketSer;
String runlogString = "";
ServiceMainScreen serMainscr = null;
public Service(ServiceMainScreen serMainscr ,String port){
this.serMainscr = serMainscr;
try {
SocketSer = (ServerSocketConnection)Connector.open("socket://:"+port);
this.start();
runlogString = "服务器已经启动!";
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

// 如有连接,则新增一个线程对连接进行处理

}
public void run(){
while(true){

// 等待客户端连接
try {
SocketConnection sc = (SocketConnection)SocketSer.acceptAndOpen();
DataInputStream dis = (DataInputStream) sc.openDataInputStream();  
            String msg = dis.readUTF();  
            serMainscr.message.append(sc.getAddress()+"用户:"+msg);  
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}

}
然后我在一天电脑上用模拟器运行服务器,再在台局域网内的另一台电脑上用模拟器运行客户端。。发现他们不能连接。。是不是代码存在缺陷还是。遗漏了什么要点啊。。比如模拟器的一些什么设置的?
[解决办法]
客户端为什么不用SocketConnection?
[解决办法]

引用:
客户端为什么不用SocketConnection?
socketConnection我也用过了,也不行,我在网上看到有这两种用法:有用StreamConnection的也有用SocketConnection的。都不行
[解决办法]
引用:
引用:

客户端为什么不用SocketConnection?
socketConnection我也用过了,也不行,我在网上看到有这两种用法:有用StreamConnection的也有用SocketConnection的。都不行

之前我用SocketConnection连接过服务器,应该是没有问题的,不过服务器端没有写过,不行的话抓包看看
[解决办法]
该回复于2011-07-26 10:50:42被版主删除
[解决办法]
该回复于2011-07-26 13:14:31被版主删除
[解决办法]
需要加";deviceside=true"这个参数,或者启动mds模拟器

热点排行