王朝网络
分享
 
 
 

翻译Sun的帮助文件——(javax.wireless.messaging.MessageConnection)

王朝java/jsp·作者佚名  2006-01-08
宽屏版  字体: |||超大  

j2me的最新版增加了对短信的支持,以后将陆续将javax.wireless.messaging下的文档

按我的理解翻译过来,由于水平有限,错误再所难免,望大家指正。

我的E-mail:flyhelleryuanwei@yahoo.com.cn

javax.wireless.messaging

Interface MessageConnection

接口MessageConnection为发送和接收短信定义了一些基本的机制。如:接受和发送短信的发法,建立一个新短信的工厂方法(factory method),计算底层协议发送信息时需要将其分成的段数。

一个MessageConnection可由Connector.open()得到,并且程序应当用close()关闭打开的连接。如果MessageConnection的任何声明抛出IOException的方法在它被关闭后被调用,则抛出IOException.

消息可由一个连接发送。一个连接可别定义为服务器(server)模式或客户端(client)模式。

在客户端模式下,连接只可以发送信息。客户端模式的连接可在调用Connector.open()时传入目的地址得到。这个方法将返回一个MessageConnection对象。

在服务器模式下,一个连接既可以发送也可以接受信息。服务器模式的连接可在调用Connector.open()时传入一个此连接的标识(与协议相关,比如:端口号)。若所指定的标识已被别的系统程序或Java程序占用,则Connector.open()将抛出IOException。Java程序可以用任何未被占用的end point标识打开MessageConnection,但是某些安全协议将有可能不允许它在那个end point上发送或接受信息。

这个接口并不假设任何协议相关的细节,所以适用于所有的无线消息协议。

一个程序可以同时打开不止一个MessageConnection,并且这些连接即可以是服务器模式,也可以是客户端模式。

程序可以建立一个实现了MessageListener接口的实例,并将它通setMessageListener(

MessageListener l)注册给MessageConnection,以使MessageConnection在有信息到来是获得通报。这样就不必为了等待接收信息而使一个线程挂起了。

—————————————————————————————————————

Field Detail

TEXT_MESSAGE

public static final java.lang.String TEXT_MESSAGE

表示文本信息的常量(值为"text")。如果这个常量被用做newMessage()的参数,则将返回一个实现了TextMessage接口的实例。

BINARY_MESSAGE

public static final java.lang.String BINARY_MESSAGE

表示二进制信息的常量(值为"binary")。如果这个常量被用做newMessage()的参数,则将返回一个实现了BinaryMessage接口的实例。

————————————————————————————

Method Detail

newMessage

public Message newMessage(java.lang.String type)

依指定参数创建一个message的实例。当TEXT_MESSAGE被传入将返回一个实现了TextMessage接口的实例。当BINARY_MESSAGE被传入将返回一个实现了BinaryMessage接口的实例。实现者也可以定义其他的常量,及相应的Message的子接口。被当做参数传入的type是大小写敏感的,它将由String.equals()比较,所以只需要传入参数的值与所定义的常量的值相等既可。

当此方法由处于客户端模式的MessageConnection调用,则新建立的的Message对象将含有此连接的目的地址。

当此方法由处于服务器模式的MessageConnection调用,则新建立的的Message对象将不含有目的地址。你必须在发送消息前设定目的地址。

如果连接关闭了,此方法返回一个Message实例。

Parameters:

type:建立什么样的Message.在本接口中定义了基本的消息类型。

Returns:

依所传入的参数建立的Message实例。

Throws:

java.lang.IllegalArgumentException:当参数不TEXT_MESSAGE,BINARY_MESSAGE,或其它实现者依其特殊的协议定义的常量时将抛出。

—————————————————————————————————————

newMessage

public Message newMessage(java.lang.String type,

java.lang.String address)

依指定参数创建一个以address为目的地址的message实例。type的意义同上。

如果连接关闭了,此方法返回一个Message实例。

Parameters:

type:建立什么样的Message.在本接口中定义了基本的消息类型。

address:目的地址。

Returns:

依所传入的参数建立的Message实例。

Throws:

java.lang.IllegalArgumentException:当参数不TEXT_MESSAGE,BINARY_MESSAGE,或其它实现者依其特殊的协议定义的常量时将抛出。

—————————————————————————————————————

send

public void send(Message msg)

throws java.io.IOException

java.io.InterruptedIOException

发送信息。

Paramenters:

msg:被发送的的信息。

Throws:

java.io.IOException: 当信息不能被送出,网络故障,或连接以关闭是抛出。

java.lang.IllegalArgumentException: 当信息不完整,包含非法信息,或当信息的长度超过了协议所要求的最大长度是抛出。一个特殊信息包含非法信息的例子是,MessageConncetion试图发送它不支持类型的信息。所以信息应总是用创建它的MessageConncetion发送。

java.io.InterruptedIOException:如果timeout在试图发送信息时发生,或在调用此方法时连接已关闭。

java.lang.NullPointerException:如果msg是null。

java.lang.SecurityException:如果程序没有发送信息的权限。

—————————————————————————————————————

receive

public Message receive()

throws java.io.IOException

java.io.InterruptedIOException

接收信息。

如果没有信息,此方法挂起直到有信息到来,或MessageConnection被关闭。

Returns:

一个代表接受到的信息的Message对象。

Throws:

java.io.IOException:当如下事件发生时抛出:

1。在接受信息是发生错误。

2。在连接关闭是调用此方法。

3。在客户端模式下调用此方法。

java.io.InterruptedIOException:在此方法执行时关闭连接时抛出。

java.lang.SecurityException:如果程序没有在指定端口接收信息的权限。

—————————————————————————————————————

setMessageListener

public void setMessageListener(MessageListener l)

throws java.io.IOException

注册MessageListener到这个MessageConnection使得当消息到来时能得到通知。

如果在调用此方法前消息队列非空,则新注册的listener将会被立即被通知到(每条消息通知一次)。

在任意时刻只能有唯一一个listener注册到MessageConnection上,新设定的listener将会自动取代老的listener。以null为此方法的参数将注销前的listener。

Parameters:

1:被注册的MessageListener.若值为null则将注销当前的listener,从而接收不到任何通知。

Throws:

java.lang.SecurityException:如果程序没有在指定端口接收信息的权限。

java.lang.IOException:如果此连接以关闭,或试图在客户端模式下调用此方法。

—————————————————————————————————————

numberOfSegments

public int numberOfSegments(Message msg)

返回底层协议发送信息时需要将其分成的段数。此方法并不发鹅送信息,只是计算需要的协议段。

此方法将计算由相应协议的方式分割信息所产生的段数,它并不关心具体协议实现时所规定的段数的上限。那些限制是协议相关的,将在实现者的文挡中指出。

当连接以被关闭是,此方法将返回计算所得的段数。

Paramenters:

msg:被用来计算的信息。

Returns:

发送信息所需的协议段。如果上0则说明此信息不能用现在的底层协议发送。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
>>返回首页<<
推荐阅读
 
 
频道精选
 
静静地坐在废墟上,四周的荒凉一望无际,忽然觉得,凄凉也很美
© 2005- 王朝网络 版权所有