关于erlang的套接字编程
套接字編程即熟悉的Socket編程,根據(jù)傳輸層協(xié)議,可分為:UDP協(xié)議和TCP協(xié)議.下面寫一個(gè)簡(jiǎn)單的例子,再重新認(rèn)識(shí)下它:
???????? 1.在同一主機(jī)節(jié)點(diǎn)下啟動(dòng)兩個(gè)Erlang節(jié)點(diǎn).
??????????? a).在第一個(gè)Erlang節(jié)點(diǎn)下,打開(kāi)端口為1234的UDP套接字;
??????????? b).在第二個(gè)Erlang節(jié)點(diǎn)下,打開(kāi)端口為1235的UDP套接字.
??????? 2.使用第二個(gè)節(jié)點(diǎn)套接字發(fā)送二進(jìn)制《"Hello"》或者 字符串 "Hello"到在本地主機(jī)ip地址127.0.0.1的端口1234上監(jiān)聽(tīng)的套接字.
??????? 3.在第一個(gè)節(jié)點(diǎn)下,使用flush()可以刷新郵箱并讀取.
???????? 4.分別關(guān)閉這兩個(gè)套接字,從而釋放占用的端口.
測(cè)試用例如下:
?
備注:這里是在同一個(gè)主機(jī)下建立兩個(gè)不同的節(jié)點(diǎn)通過(guò)gen——udp模塊發(fā)送消息,分別發(fā)送了二進(jìn)制<<"Hello">>和列表''Hello"兩種形式進(jìn)行發(fā)送的,但二進(jìn)制形式同樣以列表形式進(jìn)行發(fā)送.
??????? 這里也可以和不同的主機(jī)進(jìn)行消息間的發(fā)送,即把本地ip(127.0.0.1)改成目標(biāo)主機(jī)的ip即可.但需要注意的是:沒(méi)有防火墻阻止相關(guān)端口,以及相關(guān)端口沒(méi)有被占用.
??(上述測(cè)試用例是基于UDP協(xié)議,用的是gen_udp模塊) 步驟:首先,打開(kāi)端口;其次,通過(guò)Socket發(fā)送(send)消息,消息的格式是以列表形式發(fā)送;最后,釋放占用的端口.
?
???? 常看常新,看到了inet模塊,下面來(lái)認(rèn)識(shí)下這個(gè)函數(shù)吧:
inet:getstat /1
avg:? 該數(shù)據(jù)包的平均大小
cnt:已發(fā)送或者接收的數(shù)據(jù)包數(shù)量
dvi:套接字已經(jīng)發(fā)送或者接收字節(jié)的數(shù)據(jù)包大小的偏差
max:最大數(shù)據(jù)包的大小
oct:套接字已發(fā)送的或接收的字節(jié)數(shù)
?
?
轉(zhuǎn)載于:https://www.cnblogs.com/unqiang/archive/2013/05/15/3080228.html
總結(jié)
以上是生活随笔為你收集整理的关于erlang的套接字编程的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: struts2-通配符和动态方法调用
- 下一篇: 程序员编程艺术第十一章:最长公共子序列(