zoukankan      html  css  js  c++  java
  • 关于erlang的套接字编程

    套接字编程即熟悉的Socket编程,根据传输层协议,可分为:UDP协议和TCP协议.下面写一个简单的例子,再重新认识下它:

             1.在同一主机节点下启动两个Erlang节点.

                a).在第一个Erlang节点下,打开端口为1234的UDP套接字;

                b).在第二个Erlang节点下,打开端口为1235的UDP套接字.

            2.使用第二个节点套接字发送二进制《"Hello"》或者 字符串 "Hello"到在本地主机ip地址127.0.0.1的端口1234上监听的套接字.

            3.在第一个节点下,使用flush()可以刷新邮箱并读取.

             4.分别关闭这两个套接字,从而释放占用的端口.

    测试用例如下:

     

    备注:这里是在同一个主机下建立两个不同的节点通过gen——udp模块发送消息,分别发送了二进制<<"Hello">>和列表''Hello"两种形式进行发送的,但二进制形式同样以列表形式进行发送.

            这里也可以和不同的主机进行消息间的发送,即把本地ip(127.0.0.1)改成目标主机的ip即可.但需要注意的是:没有防火墙阻止相关端口,以及相关端口没有被占用.

      (上述测试用例是基于UDP协议,用的是gen_udp模块) 步骤:首先,打开端口;其次,通过Socket发送(send)消息,消息的格式是以列表形式发送;最后,释放占用的端口.

         常看常新,看到了inet模块,下面来认识下这个函数吧:

    inet:getstat /1

    avg:  该数据包的平均大小

    cnt:已发送或者接收的数据包数量

    dvi:套接字已经发送或者接收字节的数据包大小的偏差

    max:最大数据包的大小

    oct:套接字已发送的或接收的字节数

  • 相关阅读:
    xfce4-windowck-plugin的替代品
    git使用Beyond Compare作为diff和merge工具
    Visual Studio设置多个快捷键
    scrapy参数-COOKIES_ENABLED 最权威解释, 帮你避坑
    Linux基础使用
    python 所有的库整理
    Nginx配置详解
    15个常用的javaScript正则表达式
    Redis开发建议
    mysql 同步大量数据小技巧
  • 原文地址:https://www.cnblogs.com/unqiang/p/3080228.html
Copyright © 2011-2022 走看看