Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1026470
  • 博文数量: 125
  • 博客积分: 10490
  • 博客等级: 上将
  • 技术积分: 2386
  • 用 户 组: 普通用户
  • 注册时间: 2006-05-03 18:26
文章分类

全部博文(125)

文章存档

2011年(1)

2010年(9)

2009年(17)

2008年(98)

分类:

2008-07-17 11:35:14

AS/400中的通信(Communication)是通过消息(Message)来实现的。工作站与工作站之间,工作站与系统或应用程序之间都是通过消息进行通信的。发送给一个用户或者工作站的消息总是被发送到一个对应的消息队列(Message Queue)中。消息将会一直留在消息队列中,直到被用户删除。当创建一个用户描述(User Profile)或者工作站的设备描述(Disply Device Description)时,系统就会自动创建一个与之对应的消息队列,当然用户也可以自己创建一些其他的消息息队列。系统操作员的消息队列由 OS/400系统自动提供,名字是QSYSOPR。
    用户通过菜单操作或者输入命令GO MESSAGE进入MESSAGE菜单来消息对进行处理。
    在消息菜单中选择“Disply Message”或者用命令DspMsg MSGQ(USERNAME)就可以显示与USERNAME对应的消息。这里不仅可以显示用户的有关消息,还可以显示与指定设备相关的消息。
    在MESSAGE菜单中选择“Send a Message”或者用命令SndMsg可以向一个用户消息队列、工作站消息队列、系统操作员消息队列(QSYSOPR)或者历史文件(QHST)发送消息。下面是一个发送消息的工作界面:
    在“Message” text后面的白线处写消息内容,消息内容最多不能超过512字节(一个汉字是两个字节)。“To user profile”后面的绿线上填写你要发送给的用户名。在此界面上按F10还可以填写一些附加的参数。
     用这种方式发送的消息不打断用户的操作。有时为了发送一些重要的消息,希望能打断用户的操作而让消息显示在用户的工作站上,这时还可以用SndMsg的附加参数Message type,刚才不填这一参数,系统用系统的默认值*INFO,这样不会打断用户的操作,如果想打断用户的操作,就必须修改此处的参数值为*INQ。也可以用命令SNDBRKMSG来实现这一功能。但是如果发送中断消息,消息就不能发给用户,而是要发给用户正在用的设备。
    我们收到消息(其他用户、系统操作员或者其它应用程序发给我们的消息),我们可以用DSPMSG进行查看,也可以用WRKMSG来对消息进行处理。
阅读(1062) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~