2011-12-24 107 views
1

我被困在黑莓客户端和java服务器之间创建套接字连接。我需要简单的示例代码来扩展黑莓示例代码中的套接字API示例。黑莓套接字编程

我们有一个与android系统通信的服务器,我们也需要它与黑莓客户端一起工作。

+0

我提到了balckberry的帮助,但我无法理解和使用这个示例来实现它:http://docs.blackberry.com/en/developers/deliverables/7693/Use_a_socket_connection_508960_11.jsp – 2011-12-24 10:46:27

+0

我无法理解下面的码? getHostFieldText做什么等等:String url =“socket://”+ _screen.getHostFieldText()+“:6667”+(_screen.isDirectTCP()?“; deviceside = true”:“”); connection =(StreamConnection)Connector.open(url); – 2011-12-24 10:49:22

+0

_screen.getHostFieldText()的值将是一个IP地址或服务器地址,将其替换为所需的服务器地址。 6667是服务器的端口号(将其替换为服务器的端口号)。并且要通过直接TCP打开套接字连接,请将deviceside = true参数附加到URL的末尾。但是,如果您使用BlackBerry MDS Services,请附加deviceside = false。 – Rupak 2011-12-24 14:38:13

回答

1

对不起,迟到了。我在这里发表我的评论是因为评论的长度。 _screen.isDirectTCP()不是一个API方法,所以我不确定这个方法返回什么。但是从方法名称/签名中,我认为这种方法仅用于检查设备上的直接TCP连接是否可用。根据结果​​,应用程序将追加连接参数,如“; deviceside = ....”。

Network Transport文章,

如果你不想让你的应用程序依赖于默认连接在前面的章节中描述 类型,通过添加明确陈述 所需的连接类型“装置侧=”参数到 目标网址。如果应用程序在 目标URL中追加“; deviceside = true”,则只尝试直接HTTP或TCP连接 。该应用程序不会尝试使用BlackBerry MDS连接到网络 。或者,如果应用程序将 “; deviceside = false”附加到目标URL,则应用程序仅 会尝试使用BlackBerry MDS连接到网络。 应用程序不会尝试使用公共IP网关连接到网络。

也请看看这个链接,What Is - Different ways to make an HTTP or socket connection

+0

感谢您的回答,它帮助我们创建了一个套接字。但是,当我在Android和BlackBerry之间创建套接字时,它会打扰Android Client和Server之间已经创建的套接字。任何在这方面的帮助将不胜感激。 – 2011-12-26 13:30:41