ERLANG 網工修煉筆記 UDP

2021-09-13 02:26:05 字數 1196 閱讀 3135

udp是乙個比較常用的傳輸層協議,erlang標準庫中提供了gen_dup模組,要掌握udp協議,我們首先要熟悉這個模組。

首先看這個模組的幾個公共函式:

open 和 close 比較好理解,就是在某個埠上開啟乙個socket,以及關閉某個socket。

send 就是通過某個socket,往某個位址的某個埠傳送packet。recv 就是接受某個socket中一定長度的資料。

connect 就有點奇怪了,我們知道udp協議是無連線的。事實上這個函式並沒有文件,不是暴露給普通使用者使用的。

controlling_process 是為某個socket賦予乙個新的歸屬程序。在erlang裡,有很多的程序,他們之間相互傳遞訊息來通訊,socket從外界接收到的訊息,自然也要先傳遞到某個程序裡,才可以進入erlang的世界。歸屬程序的作用就是接收socket的訊息。

fdopen 這個函式也沒有文件,作用是從某個檔案描述符來開啟乙個socket。

open ,也就是開啟乙個socket的時候需要傳入option設定,有下列選項:

選項太多了,下列的在之後有用到的話再來解釋:

這是erlang和外界通訊的大致結構,通過erlang_port來呼叫系統的api。

我們嘗試使用udp通過ipv4來查詢dns資訊。

在任意埠開啟乙個udp的socket

= gen_udp:open(0, [, binary, inet]).
使用inet_db:res_option/1讀取所需要的一些配置資訊:

#,53}], inet6=false, retry=3, timeout=2000, udp_payload_size=1280, usevc=false}
dns_recrecord 來包裝資訊,並使用inet_dns:encode/1來編碼。這裡我們構造了乙個msg。

msg=#dns_rec,

qdlist=[#dns_query],

arlist=}.

buffer=inet_dns:encode(msg).

網工IPsec配置例項筆記

配置各路由器的介面ip,分別在總部路由器r1和分支機構路由器r2配置介面位址和靜態路由 r1 ip route static 167.1 1.0 255 255 255 0168.1 1.2 r1 ip route static 172.22 1.0 255.255 255 0168.1 1.2 r...

《Erlang程式設計》 筆記

語法 1.模式匹配 表示乙個模式匹配操作。lhs rhs實際上是這樣乙個過程,對右端求值 rhs 然後將結果與左端 lhs 進行模式匹配。2.分號 逗號 用來分隔函式呼叫,資料構造器以及模式中的引數。句號 後跟乙個空白符號 用來在shell中分隔完整的函式和表示式。分號 用來分隔字句。如分段的函式定...

網工必備學習筆記 OSPF虛連線

ospf虛連線 一 ospf功能介紹 虛連線是指在兩台abr之間,穿過乙個非骨幹區域 也稱為轉換區域,transit area 建立的一條邏輯上的連線通道 須在兩端的abr上同時配置 二 ospf虛連線應用場景 在劃分ospf區域之後,非骨幹區域之間的ospf路由更新是通過骨幹區域來交換完成的。因此...