精华内容
下载资源
问答
  • 主机A的处理:发送方从第7层、第6层到第1层由上至下按照顺序传输数据,而接收端则从第1层、第2层到第7层由下至上向每个上一级分层传输数据。每个分层上,在处理由上一层传过来的数据时可以附上当前分层的协议所必须...

    主机A的处理:

    发送方从第7层、第6层到第1层由上至下按照顺序传输数据,而接收端则从第1层、第2层到第7层由下至上向每个上一级分层传输数据。每个分层上,在处理由上一层传过来的数据时可以附上当前分层的协议所必须的“首部”信息。然后接收端对收到的数据进行数据“首部”与“内容”的分离,再转发给上一分层,并最终将发送端的数据恢复为原状。

    ac2989f789a6

    image.png

    现在假设要发送一封电子邮件

    ac2989f789a6

    image.png

    应用层:

    ac2989f789a6

    image.png

    用户A在主机A上新建一封电子邮件,指定收件人为B,并输入邮件内容为早上好”。

    收发邮件的这款软件从功能上可以分为两大类:一部分是与通信相关的,另一部分是与通信无关的。例如用户A从键盘输入“早上好”的这一部分就属于与通信无关的功能,而将“早上好”的内容发送给收件人B则是其与通信相关的功能。因此,此处的“输入电子邮件内容后发送给目标地址”也就相当于应用层。

    从用户输入完所要发送的内容并点击“发送”按钮的那一刻开始,就进入了应用层协议的处理。该协议会在所要传送数据的前端附加一个首部(标签)信息。该首部标明了邮件内容为“早上好”和收件人为“B”。这一附有首部信息的数据传送给主机B以后由该主机上的收发邮件软件通过“收信”功能获取内容。

    主机B上的应用收到由主机A发送过来的数据后,分析其数据首部与数据正文,并将邮件保存到硬盘或是其他非易失性存储器以备进行相应的处理。如果主机B上收件人的邮箱空间已满无法接收新的邮件,则会返回一个错误给发送方。对这类异常的处理也正属于应用层需要解决的问题。

    主机A与主机B通过它们各自应用层之间的通信,最终实现邮件的存储。

    表示层:

    ac2989f789a6

    image.png

    表示层的“表示”有“表现”、“演示”的意思,因此更关注数据的具体表现形式。此外,所使用的应用软件本身的不同也会导致数据的表现形式截然不同。例如有的字处理软件创建的文件只能由该字处理器厂商所提供的特定版本的软件才来打开读取。

    那么,电子邮件中如果遇到此类问题该如何解决呢?如果用户A与用户B所使用的邮件客户端软件完全一致,就能够顺利收取和阅读邮件,不会遇到类似的问题。但是这在现实生活当中是不大可能的。让所有用户千篇一律地使用同一款客户端软件对使用者来说也是极不方便的一件事情。

    解决这类问题有以下几种方法。首先是利用表示层,将数据从“某个计算机特定的数据格式”转换为“网络通用的标准数据格式”后再发送出去。接收端主机收到数据以后将这些网络标准格式的数据恢复为“该计算机特定的数据格式”,然后再进行相应处理。

    在前面这个例子中,由于数据被转换为通用标准的格式后再进行处理,使得异构的机型之间也能保持数据的一致性。这也正是表示层的作用所在。即表示层是进行“统一的网络数据格式”与“某一台计算机或某一款软件特有的数据格式”之间相互转换的分层。

    此例中的“早上好”这段文字根据其编码格式被转换成为了“统一的网络数据格式”。即便是一段简单的文字流,也可以有众多复杂的编码格式。如果未能按照特定格式编码,那么在接收端就是收到邮件也可能会是乱码。

    表示层与表示层之间为了识别编码格式也会附加首部信息,从而将实际传输的数据转交给下一层去处理。

    会话层:

    ac2989f789a6

    image.png

    下面,我们来分析在两端主机的会话层之间是如何高效地进行数据交互、采用何种方法传输数据的。

    假定用户A新建了5封电子邮件准备发给用户B。这5封邮件的发送顺序可以有很多种。例如,可以每发一封邮件时建立一次连接,随后断开连接。还可以一经建立好连接后就将5封邮件连续发送给对方。甚至可以同时建立好5个连接,将5封邮件同时发送给对方。决定采用何种连接方法是会话层的主要责任。会话层主要管理何时建立连接,何时发送数据。

    会话层也像应用层或表示层那样,在其收到的数据前端附加首部或标签信息后再转发给下一层。而这些首部或标签中记录着数据传送顺序的信息。

    传输层:

    ac2989f789a6

    image.png

    主机A确保与主机B之间的通信并准备发送数据。这一过程叫做“建立连接”。有了这个通信连接就可以使主机A发送的电子邮件到达主机B中,并由主机B的邮件处理程序获取最终数据。此外,当通信传输结束后,有必要将连接断开。

    如上,进行建立连接或断开连接的处理,在两个主机之间创建逻辑上的通信连接即是传输层的主要作用。此外,传输层为确保所传输的数据到达目标地址会在通信两端的计算机之间进行确认,如果数据没有到达,它会负责进行重发。

    例如,主机A将“早上好”这一数据发送给主机B。期间可能会因为某些原因导致数据被破坏,或由于发生某种网络异常致使只有一部分数据到达目标地址。

    假设主机B只收到了“早上”这一部分数据,那么它会在收到数据后将自己没有收到“早上”之后那部分数据的事实告知主机A。主机A得知这个情况后就会将后面的“好”重发给主机B,并再次确认对端是否收到。

    这就好比人们日常会话中的确认语句:“对了,你刚才说什么来着?”计算机通信协议其实并没有想象中那么晦涩难懂,其基本原理是与我们的日常生活紧密相连、大同小异的。

    由此可见,保证数据传输的可靠性是传输层的一个重要作用。为了确保可靠性,在这一层也会为所要传输的数据附加首部以识别这一分层的数据。然而,实际上将数据传输给对端的处理是由网络层来完成的。

    网络层:

    ac2989f789a6

    image.png

    网络层的作用是在网络与网络相互连接的环境中,将数据从发送端主机发送到接收端主机。如下图所示,两端主机之间虽然有众多数据链路,但能够将数据从主机A送到主机B也都是网络层的功劳。

    ac2989f789a6

    image.png

    在实际发送数据时,目的地址至关重要。这个地址是进行通信的网络中唯一指定的序号。也可以把它想象为我们日常生活中使用的电话号码。只要这个目标地址确定了,就可以在众多计算机中选出该目标地址所对应的计算机发送数据。

    基于这个地址,就可以在网络层进行数据包的发送处理。而有了地址和网络层的包发送处理,就可以将数据发送到世界上任何一台互连设备。网络层中也会将其从上层收到的数据和地址信息等一起发送给下面的数据链路层,进行后面的处理。

    数据链路层和物理层:

    ac2989f789a6

    image.png

    通信传输实际上是通过物理的传输介质实现的。数据链路层的作用就是在这些通过传输介质互连的设备之间进行数据处理。

    物理层中,将数据的0、1转换为电压和脉冲光传输给物理的传输介质,而相互直连的设备之间使用地址实现传输。这种地址被称为MAC地址,也可称为物理地址或硬件地址。采用MAC地址,目的是为了识别连接到同一个传输介质上的设备。因此,在这一分层中将包含MAC地址信息的首部附加到从网路层转发过来的数据上,将其发送到网络。

    网络层与数据链路层都是基于目标地址将数据发送给接收端的,但是网络层负责将整个数据发送给最终目标地址,而数据链路层则只负责发送一个分段内的数据。

    主机B的处理:

    接收端主机B上的处理流程正好与主机A相反,它从物理层开始将接收到的数据逐层发给上一分层进行处理,从而使用户B最终在主机B上使用邮件客户端软件接收用户A发送过来的邮件,并可以读取相应内容为“早上好”。

    总结:

    在计算机网络中,发送数据经过了七层。

    在发送端:

    应用层负责把数据要发送的数据交给表示层。

    表示层确定“我说的语言对方听得懂,让对方听得懂的方式是把数据转成某种格式。”,然后交给下一层。

    会话层负责何时连接对方,何时发送,怎么发。

    传输层负责建立连接,和我发的东西对方有没有都准确收到。

    网络层负责发送到目的的地址。

    数据链路层也负责发送,但是负责的是到下一站。

    物理层负责把数据都转换成0和1,负责真正的在物理设备上传输。

    展开全文
  • 邮件发送 连接释放 SMTP的缺点: 1.SMTP不能传送可执行文件或者其他二进制对象。 2.SMTP仅限于传送7位ASCl码,不能传送其他非英语国家的文字。 3.SMTP服务器会拒绝超过一定长度的邮件。 MIME POP3 简介 ...

    目录

    简介

    基于客户端软件

    电子邮件系统框架

    电子邮件组成

    信封

    内容

    邮件发送/接收步骤

    STMP与MIME

    简介

    流程

    连接建立

    邮件发送

    连接释放

    SMTP的缺点

    MIME

    POP3与IMAP

    简介

    基于万维网

    电子邮件系统框架

    Python发送邮件

    全部代码

    结果截图

    参考


    简介

    电话通信需要主叫方与被叫方同时在场,有时会打扰到人们的工作或休息,因此,有了电子邮件(e-mail)。电子邮件把邮件发送到收件人使用的邮件服务器,并放在其中的收件人邮箱(mailbox)中,收件人可在自己方便时上网到自己使用的邮件服务器进行读取。这相当于互联网为用户设立了存放邮件的信箱,因此e-mail有时也称为“电子信箱”。

    基于客户端软件

    电子邮件系统框架

    电子邮件系统的基本组成

        用户代理UA(User Agent)就是用户与电子邮件系统的接口,在大多数情况下它就是运行在用户电脑中的一个程序。因此用户代理又称为电子邮件客户端软件。用户代理向用户提供一个很友好的接口(目前主要是窗口界面)来发送和接收邮件。例如,微软公司的Outlook Express和我国张小龙制作的Foxmail
        用户代理至少应当具有以下4个功能。
        (1)撰写。给用户提供编辑信件的环境。例如,应让用户能创建便于使用的通讯录(有常用的人名和地址)。回信时不仅能很方便地从来信中提取出对方地址,并自动地将此地址写入到邮件中合适的位置,而且还能方便地对来信提出的问题进行答复(系统自动将来信复制一份在用户撰写回信的窗口中,因而用户不需要再输入来信中的问题)。
        (2)显示。能方便地在计算机屏幕上显示出来信(包括来信附上的声音和图像)。
        (3)处理。处理包括发送邮件和接收邮件。收件人应能根据情况按不同方式对来信进行处理。例如,阅读后删除、存盘、打印、转发等,以及自建目录对来信进行分类保存。有时还可在读取信件之前先查看一下邮件的发件人和长度等,对于不愿收的信件可直接在邮箱中删除。
        (4)通信。发信人在撰写完邮件后,要利用邮件发送协议发送到用户所使用的邮件服务器。收件人在接收邮件时,要使用邮件读取协议从本地邮件服务器接收邮件。

        邮件服务器:互联网上有许多邮件服务器可供用户选用。邮件服务器24小时不间断地工作,并且具有很大容量的邮件信箱。邮件服务器的功能是发送和接收邮件,同时还要向发件人报告邮件传送的结果(已交付、被拒绝、丢失等)。邮件服务器按照客户服务器方式工作。邮件服务器需要使用两种不同的协议。一种协议用于用户代理向邮件服务器发送邮件或在邮件服务器之间发送邮件,如SMTP协议,而另一种协议用于用户代理从邮件服务器读取邮件,如邮局协议POP3。
        这里应当注意,邮件服务器必须能够同时充当客户和服务器。

    电子邮件组成

    电子邮件由信封(envelope)和内容(content)两部分组成。

    信封

    电子邮件地址(e-mail address),格式 username@domainname

    内容

    分为首部(header)和主体(body),在RFC 5322中规定了header(From、To、Subject、Date),一般我们填写收件人和主题即可,用户代理会帮助我们填写发件人和日期。主题部分由用户自定义,包括正文、附件等。

    邮件发送/接收步骤

    1. 发送方编辑邮件
    2. 发送方点击发送邮件按钮,用户代理推送到发送方邮件服务器(STMP)
    3. 发送方邮件服务器将邮件放入缓存,等待发送
    4. 发送方邮件服务器与接收方邮件服务器建立TCP连接,发送数据(STMP)
    5. 接收方邮件服务器将邮件放入用户代理的收件人的收件箱中等待收件人读取
    6. 收件人点击邮件,用户代理从接收方邮件服务器拉取邮件(POP3、IMAP)

    STMP与MIME

    简介

    SMTP(Simple Mail Transfer Protocol,简单邮件传送协议),采用客户/服务器方式,熟知端口号25,由于互联网的SMTP只能传送可打印的7位ASCII码邮件,因此在1993年又提出了MIME(Multipurpose Internet Mail Extensions,通用互联网邮件扩充)。MIME在其邮件首部中说明了邮件的数据类型(如文本、声音、图像、视像等),在MIME邮件中可同时传送多种类型的数据。

    SMTP规定了14条命令和21种应答信息。每条命令用几个字母组成,而每一种应答信息一般只有一行信息,由一个3位数字的代码开始,后面附上(也可不附上)很简单的文字说明。下面通过发送方和接收方的邮件服务器之间的SMTP通信的三个阶段介绍几个最主要的命令和响应消息。

    流程

    只有5个SMTP命令用于发送邮件:HELO,MAIL,RCPT,DATA和QUIT。

    连接建立

    发件人的邮件送到发送方邮件服务器的邮件缓存后,SMTP客户就每隔一定时间对邮件缓存扫描一次。如发现有邮件,就使用SMTP的熟知端口号码25与接收方邮件服务器的SMTP服务器建立TCP连接。在连接建立后,接收方SMTP服务器要发出“220 Service ready”(服务就绪)。然后SMTP客户向SMTP服务器发送HELO命令,附上发送方的主机名。SMTP服务器若有能力接收邮件,则回答:“250 OK”,表示已准备好接收。若SMTP服务器不可用,则回答“421 Service not available”(服务不可用)

    邮件发送

     邮件的传送从MAIL命令开始。MAIL命令后面有发件人的地址。若SMTP服务器已准备好接收邮件,则回答“250OK”。否则,返回一个代码,指出原因。如:451(处理时出错),452(存储空间不够)等。

    下面跟着一个或多个RCPT(recipient,收件人)命令,取决于把同一个邮件发送给一个或多个收件人。每发送一个RCPT命令,都应当有相应的信息从SMTP服务器返回,如:“250OK”,表示指明的邮箱在接收方的系统中,或“550No such user here”(无此用户),即不存在此邮箱。RCPT命令的作用就是:先弄清接收方系统是否已做好接收邮件的准备,然后才发送邮件。这样做是为了避免浪费通信资源,不至于发送了很长的邮件以后才知道地址错误。

    再下面就是DATA命令,表示要开始传送邮件的内容了。SMTP服务器返回的信息是:“354 Start mail input;end with <CRLF>.<CRLF>”。这里<CRLF>是“回车换行”的意思。若不能接收邮件,则返回421(服务器不可用),500(命令无法识别)等。接着SMTP客户就发送邮件的内容。发送完毕后,再发送<CRLF>.<CRLF>(两个回车换行中间用一个点隔开)表示邮件内容结束。实际上在服务器端看到的可打印字符只是一个英文的句点。若邮件收到了,则SMTP服务器返回信息“2500K”,或返回差错代码。

    连接释放

    邮件发送完毕后,SMTP客户应发送QUIT命令。SMTP服务器返回的信息是“221(服务关闭)”,表示SMTP同意释放TCP连接。邮件传送的全部过程即结束。

    SMTP的缺点

    1. SMTP不能传送可执行文件或者其他二进制对象。
    2. SMTP仅限于传送7位ASCl码,不能传送其他非英语国家的文字。
    3. SMTP服务器会拒绝超过一定长度的邮件。
    4. 传送的是明文,不利于保密。

    MIME

    由于SMTP存在一些缺点,MIME对传送的内容进行了一些扩充,进行了ASCII码和非ASCII码之间的转换。

    MIME与SMTP

    MIME主要包括以下三部分内容:

    • 5个新的邮件首部字段,它们可包含在原来的邮件首部中。这些字段提供了有关邮件主体的信息。
    • 定义了许多邮件内容的格式,对多媒体电子邮件的表示方法进行了标准化。
    • 定义了传送编码,可对任何内容格式进行转换,而不会被邮件系统改变。

    为适应于任意数据类型和表示,每个MIME报文包含告知收件人数据类型和使用编码的信息。MIME把增加的信息加入到原来的邮件首部中。
    下面是MIME增加的5个新的邮件首部的名称及其意义(有的可以是选项)。

    • MIME-Version:标志MIME的版本。现在的版本号是1.0。若无此行,则为英文文本。
    • 内容描述 Content-Description:这是可读字符串,说明此邮件主体是否是图像、音频或视频。
    • 内容ID Content-Id:邮件的唯一标识符。
    • 内容编码 Content-Transfer-Encoding:在传送时邮件的主体是如何编码的。
    • 内容类型 Content-Type:说明邮件主体的数据类型和子类型。
    常见内容类型
    类型子类型举例
    text(文本)plain,html,xml,css
    image(图像)gif,jpeg,tif
    audio(音频)basic,mpeg,mp3
    video(视频)mpeg,mp4,quicktime
    model(模型)vrml
    application(应用)octet-stream,pdf,javascript,zip
    message(报文)http,rfc822
    multipart(多部分)mixed,alternative,parallel,digest

    POP3与IMAP

    简介

    目前常用的邮件读取协议有两种,一种是POP3,即POP(PostOffice Protocol,邮局协议)的版本3,熟知端口110。之前是下载并删除的方式,之后经过扩展,可以下载并保留一段时间。

    另一种是IMAP(Internet Message Access Protocol,网际报文存取协议),当用户计算机上的IMAP客户程序打开IMAP服务器的邮箱时,用户就可看到邮件的首部。若用户需要打开某个邮件,则该邮件才传到用户的计算机上。用户可以根据需要为自己的邮箱创建便于分类管理的层次式的邮箱文件夹,并且能够将存放的邮件从某一个文件夹中移动到另一个文件夹中。用户也可按某种条件对邮件进行查找。在用户未发出删除邮件的命令之前,IMAP服务器邮箱中的邮件一直保存着。。

     

    基于万维网

    为了更加方便,人们不再愿意安装客户端,而是更多的使用网站,比如谷歌GMail、新浪邮箱网易163邮箱等。

    电子邮件系统框架

    电子邮件系统框架

    用户代理、邮件服务器等重复内容不再赘述。需要注意的是使用网站(用户代理)时我们推送邮件到服务器是使用HTTP(S)协议,拉取时也是。

    Python发送邮件

    全部代码

    """
    --coding:utf-8--
    @File: send_email.py
    @Author:frank yu
    @DateTime: 2020.12.15 14:36
    @Contact: frankyu112058@gmail.com
    @Description:
    """
    import os
    import smtplib
    from email.mime.application import MIMEApplication
    from email.mime.multipart import MIMEMultipart
    from email.mime.text import MIMEText
    
    send_user = '你需要替换'  # 发件人
    password = '你需要申请'  # 授权码/密码
    server_address = '你需要替换'  # 服务器地址
    
    
    def send_email(recv, subject, text='', file=None):
        # 构造一个邮件体:正文 附件
        msg = MIMEMultipart()
        msg['Subject'] = subject  # 主题
        msg['From'] = send_user  # 发件人
        msg['To'] = recv  # 收件人
    
        # 构建正文
        part_text = MIMEText(text)
        msg.attach(part_text)  # 把正文加到邮件体里面去
    
        if file is not None:
            # 构建邮件附件
            part_attach1 = MIMEApplication(open(file, 'rb').read())  # 打开附件
            part_attach1.add_header('Content-Disposition', 'attachment', filename=os.path.basename(file))  # 为附件命名
            msg.attach(part_attach1)  # 添加附件
        try:
            # 发送邮件 SMTP
            smtp = smtplib.SMTP(server_address, 25)
            smtp.login(send_user, password)
            smtp.sendmail(send_user, recv, msg.as_string())
            print('发送成功!')
        except Exception as e:
            print('网络存在问题,发送失败:', e)
    
    
    if __name__ == '__main__':
        # send_email('你需要替换', '文本邮件发送测试', '今天天气真不错')
        send_email('你需要替换', '附件邮件发送测试', '请查看附件', '你需要替换,例如:E:\北邮信息\成绩单.docx')

    其中,授权码一般通过设置->更多设置来找到选项申请,新浪的如下:

    新浪授权码申请位置

     发件人就是你申请授权码的这个邮箱,服务器就是SMTP服务器(发送的话)。博主是用新浪给自己的北邮邮箱发的邮件,你也可以用新浪发给新浪。

    结果截图

    邮件
    查看内容

    之前写了个脚本,用opencv录取视频,保存到本地,使用邮件发送后删除,打包成了exe给了朋友,偷录了一些视频(当然,事后告诉了朋友并删除了视频),发了博客后(含代码及视频截图)过段时间给封了,大家可以换个别的想法玩一玩。

    参考

    《计算机网络(第7版)谢希仁》6.5

    《TCP/IP详解I》第28章

    RFC 5321 STMP

    RFC 20452046 MIME

    RFC 5322  邮件格式

    RFC 1939 POP3

    RFC 2449 POP3扩展

    RFC 3501 IMAP4

    展开全文
  • 如果对等A下载文件X,则A要求FT发送有关共享X的在线对等信息。如果存在共享X的对等,则FT将与这些对等方和文件有关的信息发送给A(请注意,与可能存在相同的名称(大小,类型等可能不同)。 A连接到它从...
  • MQ中将消息发送至远程队列的配置

    千次阅读 2018-11-04 17:00:49
    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow也欢迎大家转载本篇...分享知识,造福人民,实现我们中华民族伟大复兴!&nbsp;&nbsp;&nbsp;... MQ中将消息发送至远程

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow

    也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

                   

    MQ中将消息发送至远程队列的配置

    摘自MQ资源管理器帮助文档V7

    在开始学习本教程之前,您需要从系统管理员处了解标识网络上接收机器的名称:IP地址、MQ的端口号、队列管理器、接收(远程机器)或者是发送的队列(本地机器)名称

    消息传递如图示:

     

    本教程介绍了如何设置一台计算机上的队列管理器 QM_ORANGE 与另一台计算机上的队列管理器 QM_APPLE 之间的消息传递。在第一台计算机上创建的消息被传递到第二台计算机上的队列 Q1(此队列被称为远程队列)。

    要点: 在本教程中,您将使用创建了队列管理器 QM_APPLE 和本地队列 Q1 的机器作为接收机器。

    您将在发送机器上设置队列管理器和队列(远程队列定义和传输队列)。然后定义消息通道。最后,您将把测试消息放入发送机器,并从接收机器上的队列获取该消息。

    完成本教程后,您应该基本了解如何使用远程队列定义来设置和使用 WebSphere® MQ 消息传递。

    一、              在发送机器上创建队列管理器

    二、              在发送队列管理器上创建队列

    三、              创建消息通道

    四、              将测试消息放入队列

    五、              验证是否已发送测试消息

    一、在发送机器上创建队列管理器

    在发送机器上使用 WebSphere MQ 资源管理器创建队列管理器

    无法远程完成此过程。必须在发送机器上本地完成此过程。

    1. 启动 WebSphere MQ 资源管理器。
    2. 在导航器视图中,右键单击队列管理器文件夹,然后单击新建 > 队列管理器 此时会打开创建队列管理器向导。
    3. 在队列管理器名称字段中,输入 QM_ORANGE
    4. 选中设置为缺省队列管理器复选框。
    5. 单击下一步两次以转至向导的步骤 3
    6. 确保选中启动队列管理器复选框。
    7. 确保选中自动启动队列管理器复选框。
    8. 单击下一步以转至向导的步骤 4
    9. 确保选中创建配置用于 TCP/IP 的侦听器复选框。
    10. 如果完成按钮不可用,那么在侦听端口号字段中输入另一个端口号。 如果当前值为 1414,那么尝试输入 1415 1416
    11. 单击完成。

    WebSphere MQ 资源管理器的导航器视图中的队列管理器文件夹中会显示表示此队列管理器的图标,并且在您创建队列管理器后,该队列管理器会自动开始运行。

    使用 MQSC 创建发送队列管理器

    在发送机器上打开命令提示符,然后按照以下步骤操作:

    1. 通过输入以下命令来创建名为 QM_ORANGE 的缺省队列管理器:

    crtmqm -q QM_ORANGE

    此时会显示消息,告诉您已经创建了队列和缺省 WebSphere MQ 对象。

    1. 通过输入以下命令来启动此队列管理器:

    strmqm

    此时会显示一条消息,告诉您何时启动了该队列管理器。

    1. 现在,您必须通过输入以下命令来创建侦听器:

    runmqlsr -m QM_APPLE -t TCP -p (port number)

    注: 如果未使用 -p 参数指定任何端口,那么使用缺省端口 1414,但请注意,不能对发送方和接收方使用相同的端口号,因此,如果其中一个为 1414,那么另一个就应该是 1415

    您现在已经创建了发送队列管理器。下一个任务是在此队列管理器上创建队列。

    二、在发送队列管理器上创建队列

    使用 WebSphere MQ 资源管理器在发送队列管理器上创建队列

    在发送队列管理器上:

    1. 在导航器视图中,展开队列管理器文件夹。
    2. 展开队列管理器 QM_ORANGE
    3. 右键单击队列文件夹,然后单击新建 > 远程队列定义... 此时会打开新建远程队列定义向导。
    4. 在名称字段中,输入 Q1
    5. 在远程队列字段中,输入 Q1。 【注:这里新建的远程队列的名称,一定要和远程机器上的队列名称相同,否则消息会发出去,但是远程机器的队列里面收不到消息,如上文提到的的Q1Q1,或者是如下图的testQtestQ
    6. 在远程队列管理器字段中,输入 QM_APPLE
    7. 在传输队列字段中,输入 QM_APPLE
    8. 单击完成。 您现在已经创建了远程队列定义。
    9. 单击 QM_ORANGE 队列管理器。
    10. 右键单击队列文件夹,然后单击新建 > 本地队列 此时会打开新建本地队列向导。
    11. 在名称字段中,输入 QM_APPLE
    12. 在用途字段中,选择传输。
    13. 单击完成。 您现在已经在本地机器上创建了传输队列。

    内容视图中将会显示新队列 Q1 QM_APPLE

    如果内容视图中未显示这些队列,请单击位于内容视图顶部的“刷新”按钮

    使用 MQSC 来在发送队列管理器上创建队列

    在发送机器上打开命令提示符,然后按照以下步骤操作:

    1. 通过输入以下命令来启动 MQSC

    runmqsc

    此时会显示一条消息,告诉您 MQSC 会话已启动。

    1. 通过输入以下命令来定义名为 QM_APPLE 的本地队列:

    define qlocal (QM_APPLE) usage (xmitq)

    此时会显示一条消息,告诉您何时创建了该队列。

    1. 通过输入以下命令来定义远程队列定义:

    define qremote (Q1) rname (Q1) rqmname(QM_APPLE) xmitq (QM_APPLE)

    您现在已经在发送队列管理器上创建了队列。下一个任务是创建发送队列管理器和接收队列管理器之间的消息通道。

    三、创建消息通道

    使用 MQ 资源管理器创建消息通道

    1. 接收队列管理器 QM_APPLE 上,创建通道的接收方端:
      1. 在导航器视图中,展开先前创建的队列管理器 QM_APPLE,然后展开高级文件夹。
      2. 右键单击通道文件夹,然后单击新建 > 接收方通道... 此时会打开新建接收方通道向导。
      3. 在名称字段中,输入 QM_ORANGE.QM_APPLE
      4. 单击完成。 您现在已经在接收机器上创建了接收方通道。
    2. 发送队列管理器 QM_ORANGE 上,创建通道的发送方端:
      1. 展开先前创建的队列管理器 QM_ORANGE,然后展开高级文件夹。
      2. 右键单击通道文件夹,然后单击新建 > 发送方通道... 此时会打开新建发送方通道向导。
      3. 在名称字段中,输入 QM_ORANGE.QM_APPLE,然后单击下一步。
      4. 在连接名称字段中,输入接收机器的计算机名称或 IP 地址(您应该已经在系统管理员的帮助下获得此信息)。
      5. 在传输队列字段中,输入 QM_APPLE
      6. 单击完成。
      7. 单击通道文件夹。
      8. 右键单击 QM_ORANGE.QM_APPLE
      9. 从弹出菜单中,单击启动。
      10. 单击确定。 您现在已经在发送机器上创建了发送方通道。

    注: 您不必启动接收方通道,因为它会在您设置发送方通道时自动启动(当设置发送方通道时,您指定了接收方通道的 IP 地址)。

    现在,已经在接收队列管理器 QM_APPLE 上创建接收方通道 QM_ORANGE.QM_APPLE,并且已在发送队列管理器 QM_ORANGE 上创建发送方通道 QM_ORANGE.QM_APPLE。此外,您还已经启动发送方通道,这也自动地启动了接收方通道。

    使用 MQSC 创建消息通道

    接收机器上打开命令提示符,然后按照以下步骤操作:

    1. 通过输入以下命令来启动 MQSC

    runmqsc

    此时会显示一条消息,告诉您 MQSC 会话已启动。

    1. 通过输入以下命令来定义接收通道:

    define channel (QM_ORANGE.QM_APPLE) chltype (RCVR) trptype (TCP)

    此时会显示一条消息,告诉您何时创建了该通道。

    1. 通过输入以下命令来停止 MQSC

    end

    将显示一些消息,然后会显示命令提示符。

    发送机器上打开命令提示符,然后按照以下步骤操作:

    1. 通过输入以下命令来启动 MQSC

    runmqsc

    此时会显示一条消息,告诉您 MQSC 会话已启动。

    1. 通过输入以下命令来定义发送方通道:

    define channel (QM_ORANGE.QM_APPLE) chltype (sdr) conname ('con-name') xmitq (QM_APPLE) trptype (tcp)

    con-name 是接收方队列管理器的 TCP 地址。

    1. 通过输入以下命令来启动通道:

    start channel (QM_ORANGE.QM_APPLE)

    1. 通过输入以下命令来停止 MQSC

    end

    将显示一些消息,然后会显示命令提示符。

    您现在已经创建了将消息从发送队列管理器 QM_ORANGE 发送到接收队列管理器 QM_APPLE 上的队列 Q1 所需的全部 WebSphere MQ 对象。下一个任务是发送测试消息。

    四、将测试消息放入队列

    使用 MQ 资源管理器测试消息放入队列

    点右键到远程队列上,选择“放入测试消息”:

     

    在弹出的界面中输入任何消息,点关闭或者是连续输入即可。

    使用 MQSC 来将测试消息放入队列

    在发送机器(主管队列管理器 QM_ORANGE 的机器)上执行此任务。

    使用 amqsput 样本程序来将消息放入您创建的队列。

    Windows®上,缺省情况下样本程序随 WebSphere® MQ 服务器或客户机一起安装。在 Linux®上,需要安装样本程序 RPM

    打开命令提示符,然后按照以下步骤操作:

    1. 启动 amqsput 样本程序,如下所示:
      • Linux 上,切换到 /opt/mqm/samp/bin 目录,然后输入命令:./amqsput Q1
      • Windows 上,输入命令:amqsput Q1

    此时会显示以下消息:

    样本 amqsput0 启动
    目标队列为 Q1

    1. 在一行或多行上输入某些消息文本,然后按 Enter 键两次。 此时会显示以下消息:

    样本 amqsput0 结束

    您现在已经创建了测试消息并将其放入远程队列。下一个任务是验证是否已接收到测试消息。

    五、验证是否已发送测试消息

    使用 WebSphere MQ 资源管理器来验证是否已发送测试消息

    在接收机器(主管队列管理器 QM_APPLE 的机器)上执行此任务。

    接收队列管理器上:

    1. 在导航器视图中,展开队列管理器 QM_APPLE
    2. 单击队列文件夹。
    3. 在内容视图中,右键单击队列 Q1,然后单击浏览消息...。 此时会打开消息浏览器,显示当前 Q1 上的消息列表。
    4. 双击列表中的最后一条消息以查看其属性对话框。

    在属性对话框的数据页上,消息数据字段以人类可读的格式显示了消息的内容。

    使用 MQSC 验证是否已发送测试消息

    您在接收机器(主管队列管理器 QM_APPLE 的机器)上执行此任务。使用 amqsget 样本程序来从队列中取回消息。

    打开命令提示符,然后按照以下步骤操作:

    启动 amqsget 样本程序,如下所示:

    • Linux®上,切换到 /opt/mqm/samp/bin 目录,然后输入命令:./amqsget Q1
    • Windows®上,输入命令:amqsget Q1

    此时会启动该样本程序,并显示您的消息以及此队列上的任何其他消息。在短暂停留后,样本程序结束,并再次显示命令提示符。

    恭喜!您现在已经完成了本教程。

     

    如果文章对你用,请支持万事如意网址导航

               

    给我老师的人工智能教程打call!http://blog.csdn.net/jiangjunshow

    这里写图片描述
    展开全文
  • 第三支付公司工作原理 所谓第三支付:  就是一些和各大银行签约、并具备一定实力和信誉保障的第三独立机构提供的交易支持平台。在通过第三支付平台的交易中,买方对第三平台提供的账户进行货款支付,由第...

    第三方支付公司工作原理

    所谓第三方支付:
     就是一些和各大银行签约、并具备一定实力和信誉保障的第三方独立机构提供的交易支持平台。在通过第三方支付平台的交易中,买方对第三方平台提供的账户进行货款支付,由第三方通知卖家货款到达。
    目前提供第三方支付的机构很多,常见的有支付宝(阿里)、财付通(腾讯)网银在线(京东)等各大互联网巨头的支付平台以及专门做第三方支付的支付平台。商户如果需要实现第三方支付首先应该向第三方支付平台申请一个账号并签署协议,协议生效后第三方支付平台将为其开通在线支付功能,通过接口将程序集成到商户收银台中。
     为什么要使用第三方支付?因为第三方支付平台已经与各大银行进行签约,商户只需要在此平台申请一个账号即可支持几乎所有的种类的银行卡或者信用卡的交易。

    第三方支付流程

    一、首先是商家接入第三方支付公司的流程,以支付宝为例:

    1. 商家登陆支付宝商家开放平台进行注册和自主实名认证。
    2. 若有线下业务员,则由业务员提交申请单,申请单之中包括需要开通的功能接口信息。
    3. 申请单中包含支付工具:例如花呗,银行卡,快捷支付,余额宝等。
    4. 支付宝后台审核组进行提交和审核,跟商户确认收取商户手续费等信息。
    5. 商户确认,签署合同。
    6. 花呗等除快捷支付的分期或信贷支付手段,在管理后台配置风控信息。例如芝麻分多少以下的客户不允许贷款等等规则。
    7. 支付宝向商家提供SDK与API,商户接入支付宝收银台。

    二、用户使用第三方支付时的信息/资金流详解:

    1.信息流信息流如图

    1. 用户向商户发起支付请求。
    2. 商户方唤起收银台,收银台中包含多种支付方式。例如微信,支付宝,其背后逻辑是商家收银台接入了微信支付宝的接口。(若存在第四方支付公司则第四方支付公司对接商户和第三方支付公司);
    3. 第三方(四方)支付公司完成收单;
    4. 银联或网联进行清算(第三方支付公司可接银联也可接网联);
    5. 银行(包括用户开户行和商家开户行)结算;

    2.资金流
    在这里插入图片描述

    1. 支付成功,用户开户行(工商银行卡)账户减少一百元;
    2. 第三方支付公司在用户开户行(工商银行)的备付金账户增加100元;
    3. 第三方支付公司扣除手续费0.1元(虚拟值)后在商户收单行(建设银行)的备付金账户发起代付99.9元的请求;
    4. 银联或网联进行清算后扣除手续费0.1元(虚拟值)将钱打入商家收单银行(建设银行)99.8元。
    5. 商家的收单银行(建设银行)扣除手续费后0.1元将99.7元按周期打入商家银行账户。通常是T0,T1或按周结算或按月结算。

    3.用户采用贷款模式(花呗,白条)等产品时的资金流

    在这里插入图片描述

    1. 用户采用花呗等信贷模式付款时,实际是第三方支付公司贷了一笔款给用户,资金通常是由小贷公司或商业银行来提供;

    2. 用户支付成功之后,资金由第三方支付公司 对 资方(小贷公司的)的对公户进行代扣,资金打入第三方支付公司账户

    3. 第三方支付公司扣除手续费后对商户收单行(建设银行)的备付金账户发起代付请求;

    4. 商家的收单银行(建设银行)扣除手续费将钱按周期打入商家银行账户。通常是T0,T1或按周结算或按月结算。

    4.用户采用贷款模式还款的资金流
    在这里插入图片描述

    1. 用户还款时,资金由用户账户经银行到达第三方支付公司备付金账户。
    2. 第三方支付公司与小贷公司进行分账,例如息费利润分账等等
    3. 第三方支付公司发起代付,资金到达小贷公司对公户。

    重点名词解释

    收单服务
    指商户签约的银行或第三方支付公司向商户提供的本外币资金结算服务。
    例如大量顾客在某个商家刷卡消费,商家账户的开户行(收单行)在规定周期内将资金结算到商家的账户,并扣取一定的手续费。周期为T0,T+1,周结,月结都有可能。
    收单机构是与商户签约的银行或者第三方支付公司。

    银联/网联
    网联的全称叫做“非银行支付机构网络支付清算平台”,简称网联,网联取代之前第三方支付公司与银行直接对接的模式。网联作为清算平台,一端连接第三方支付公司,另一端对接银行系统。
    银联是连接各大银行的桥梁,跟网联同等地位,负责各大银行之间的线下交易清算。

    清算/结算
    清算=清分+结算

    清分=记账+发送指令+算账

    结算=扣费+转账

    清分:A刷POS向商场B付款5000元,A的开户行在建行(发卡行),商场B的开户行在工行(收单行)。在清分阶段银联系统记下这笔交易计算出这笔交易中发卡行、银联、收单行各自收取多少手续费分别向发卡行与收单行发起交易指令。(此阶段主要由银联/网联来做,分别负责线下和线上业务)。

    结算:发卡行根据银/网联的交易指令从A的银行卡账户扣除5000元,并从5000中扣除相应的手续费。剩余的钱银联再扣除相应的手续费,通过人民银行大额支付系统转给收单行,收单行再扣除相应的手续费将剩下的钱打入B的账户。以上整个过程称之为清算。

    备付金账户
    第三方支付公司在各个银行开立的账户,通常用作预存或留存在银行机构的货币资金,以及由支付机构为客户代收或代付的货币资金。

    **第四方支付
    又称为聚合支付服务商,无支付牌照,主要聚集微信、支付宝等第三方支付公司的支付方式,为线下商户提供聚合的支付码牌、收银设备等。主要负责商户的拓展和运营。
    第四方支付公司的优势在于融合了许多第三方支付公司的接口,商户只需要接入一次第四方支付的接口便可使用多种第三方支付方式。
    第四方支付公司的盈利模式主要为收取第三方支付公司的佣金,第四方支付公司本身不参与任何资金流只参与信息流。

    作者:Peter 刚入行支付产品的互联网金融新人

    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

    展开全文
  • 在lte-a中用信号发送上行链路控制信息的制作方法【专利说明】在LTE-A中用信号发送上行链路控制信息[0001] 本申请是申请日为2010年06月18日、申请号为201080035916.0、名称为"在 LTE-A中用信号发送上行链路控制信息...
  • 文章目录一点说明选择题概述密码技术信息认证技术计算机病毒网络攻击和防范防火墙技术入侵检测技术数据备份与恢复技术虚拟专用网技术电子商务安全填空题概述密码技术信息认证技术计算机病毒网络攻击与防范技术防火墙...
  • 计算机网络历年试题分析(大题待补充)

    千次阅读 多人点赞 2020-09-05 21:14:08
    简述TCP协议慢启动过程/简述TCP中拥塞控制的实现机制(2) 简述虚电路VC的组成及建立过程 发送方发送含有地址信息的特定的控制信息块(如:呼叫分组),该信息块途经的每个中间结点根据当前的逻辑信道(LC)使用...
  • 第三章 数字基带信号与发送滤波器

    千次阅读 2021-11-15 18:48:42
    一、概念 什么是码元? :数字通信中,是承载信息量的基本信号单位; 从信源发出的数字信息可以用数字码元序列来表示。...:用于表示数字码元序列的脉冲电压或电流。...:指未经调制的数字...二是需要在发送的信号中加
  • TCP发送数据流程详解

    千次阅读 2018-11-12 23:54:52
    TCP发送数据流程详解
  • 网络信息安全:消息认证

    千次阅读 2018-07-30 21:30:29
    消息认证确保收到的数据确实和发送时的一样(没有修改、插入、删除或者重放),且发送方声称的身份是真实有效的。 什么是消息认证 用来验证消息完整性的一种机制或服务。消息认证确保收到的数据确实和发送时的一样...
  • 计算机网络试题

    千次阅读 2021-01-07 13:16:26
    在数据传输过程中,若接收方收到发送方送来的信息为10110011010,生成多项式为 G(x)=x^4+x^3+1,接收方收到的数据是否正确?(请写出判断依据及推演过程) 解:接收正确 接收信息/G(X),余数为零,则正确,否则出错 ...
  • Qt使用udp发送消息

    万次阅读 2014-02-19 13:42:02
    首先介绍一下,TCP/IP其实是一个四层协议系统,主要...这个1500字节被称为链路层的MTU(最大传输单元).但这并不是指链路层的长度被限制在1500字节,其实这个MTU指的是链路层的数据区.并不包括链路层的首部和尾部的18个
  • TCP/IP 协议的发送与接收

    万次阅读 2018-08-06 10:36:18
    TCP(Transmission Control Protocol,传输控制协议)是一种面向连接的、可靠的、基于字节流的通信协议,数据在传输前建立连接,传输完毕后还要断开连接。 客户端在收发数据前使用 connect() 函数和服务器建立...
  • 电子邮件在当今社会中扮演了一个很重要的角色。越来越多的人在使用它。而且用它的人数势必会继续增加。虽然,现在已经有很多的邮件收发软件例如著名的FoxMail 但是对于大多数的非专业的人来说它还是有点难度...
  • 网络与信息安全学习(三)

    千次阅读 2018-09-11 11:16:57
    安全认证与信息加密 计算机病毒、黑客、钓鱼网站以及网页仿冒诈骗等恶意威胁,... 实际中,一方面保证信息的机密性,另一方面是保证信息的完整性和有效性,即确认与之通信的对方身份的真实性, 以防止信息在传...
  • 计算机网络学习总结(超赞!!!)

    千次阅读 2019-07-11 20:29:23
    我是技术搬运工,好东西当然和大家分享啦.原文地址 第一章 概述 网络的网络 网络把主机连接起来,而互联网是把多种不同的网络连接起来,因此互联网是网络的网络。 ISP 互联网服务提供商 ISP 可以从互联网...
  • 通常情况下,不同页面上的脚本允许彼此访问,当且仅当它们源自的页面共享相同的协议,端口号和主机(也称为“同源策略”)。window.postMessage()提供了一个受控的机制来安全地规避这个限制(如果使用得当的话)。 ...
  • 如果不是奇数,则表示有错误发生,此时接收方可以向发送方发送请求,要求重新发送一遍数据。 优缺点 奇偶校验的检错率只有50%,因为只有奇数个数据位发生变化能检测到,如果偶数个数据位发生变化则无能为力...
  • VC++实现UDP数据包发送

    千次阅读 2012-11-14 18:15:10
    UDP有不提供数据包分组、组装和不能对数据包进行排序的缺点,也就是说,当报文发送之后,是无法得知其是否安全完整到达的。UDP用来支持那些需要在计算机之间传输数据的网络应用。包括网络视频会议系统在内的众多的...
  • RTCP介绍及发送间隔控制

    万次阅读 2017-09-22 18:40:22
    主要包括SLI/PLI/FIR,集中报文手段,目的是在关键帧丢失无法解码时,请求发送方重新生成并发送一个关键帧。本质是一种重传,但是跟传输层的重传的区别是,它重传是最新生成的帧。 PLI 是Picture ...
  • 发送邮件

    千次阅读 2020-03-26 03:30:47
    发送邮件相关依赖: <dependency > <groupId >javax.mail </groupId > <artifactId >mail </artifactId > <version >1.4.5 </version...
  • TCP原理描述(一)

    千次阅读 2021-11-24 16:56:56
    TCP原理描述一 本篇介绍非具体的可靠协议的原理,并且暂时没有配图(有时间再配图),可以拿笔自己画一画。...无论是TCP还是UDP,都不能保证发送的数据报一定会在某个时间点前到达。不过ATM网络体系结
  • 功能需求:当有微信用户关注了您的公众号之后,您用JavaScript发送一个欢迎消息给这个粉丝。 具体实现 我们登陆微信公众号的控制台后,点开发-&gt; 基本配置: 能看到我们配置的微信消息服务器的地址。在...
  • GBN协议

    千次阅读 2021-12-15 21:56:56
    Go-Back-N 回退N在回退N步协议中,容许发送方发送多个分组,而不需要等待确认,但他也受限与在流水线中未确认的分组数不能超过某个最大数N。 由于传统的rdt协议利用率较低,所以我们需要改进它的性能。所以我们用到...
  • GitHub Actions 部署爬虫并定时发送邮件

    千次阅读 多人点赞 2020-02-02 11:22:40
    本文将介绍如何在 GitHub Actions 上部署爬虫并定时发送邮件,无需额外购买服务器 GitHub Actions GitHub Actions 是在 GitHub Universe 大会上发布的,被 Github 主管 Sam Lambert 称为 “再次改变软件开发” 的一...
  • 信息安全性与保密性

    千次阅读 2019-08-20 17:37:27
    保密性是指系统中的信息必须按照该信息拥有者的要求保证一定的秘密性,不会被未经许可的第三非法获取。系统必须阻止一切对秘密信息的非授权访问或泄露。 完整性是指系统中的信息应当安全、准确、有效,要求数据...
  • 在 回退 N 步协议 中,允许发送方发送多个分组而不需等待确认,但它也受限于在流水线中未确认的分组数不能超过某个最大允许数 N。  基序号(base)为最早的未确认分组的序号。 下一个序号(nextseqnum)为...
  • javaEE之----------java代码发送邮件

    千次阅读 2016-01-04 16:03:43
    所以,通常邮件的服务器也称为SMTP服务器。 接收邮件的服务器使用接收协议,现在常用的是POP3协议或IMAP协议,所以通常也被称为POP3或IMAP服务器。 目前经常见到的服务器为SMTP和POP3服务器。如大家在注册了126的...
  • 发送TCP数据包

    千次阅读 2014-06-10 21:12:26
    字节,连接的另一方将无法了解发方每次发送了多少字节。只要自己的接收缓存没有塞满, TCP  接收将有多少就收多少。一端将字节流放到 TCP 连接上,同样的字节流将出现在 TCP 连接的另一端。 另外, TCP 对字节...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 173,324
精华内容 69,329
关键字:

发送方要发送的信息称为