erlang otp中的socket引數設定

2022-05-28 07:03:10 字數 948 閱讀 5304

抄自

erlang的inet模組裡提供了對socket進行一系列引數設定的介面setopts(socket, options)。可設定的引數目前有28個,其中有乙個在r16版本裡計畫去除。以下是對幾個常用引數的設定做的記錄。

預設值是true。但是由於設定為true的情況下是沒有flow control的,所以一般不會使用這個預設值。false的需要每次通過**精確指定訊息資料的接收,視需要而定。通常once是比較常用的設定。

預設值為false。此時傳送給socket的資料會立即嘗試通過網路投遞,若設定為true,則所有訊息會在一開始就進入佇列,之後才會傳送。對於網路使用繁重但實時性要求沒那麼高的應用情景來說,設定true會節省網路的占用頻度。

預設值為false。設定為true能對一些異常斷線的情況進行檢測和釋放,值得需要注意的是,這個與系統的tcp_keep_alive_time相關。需要將tcp_keep_alive_time設定到乙個合理的值。

binary

通常我們都指定以二進位制的形式來處理packet的資料。

即便少量資料也立即傳送。視應用場景而定,一般對於遊戲這種型別的應用而言,設定為true。

指定packet的header大小或者型別,需要根據應用情況明確指定。

預設是false,一般建議開啟,可以復用埠號。同樣,這個和系統的設定有關聯。

為timeout設定合適的值,send_timeout_close建議設定為true。

設定ip_tos引數,這個引數代表了ip包的優先順序和qos選項。和系統的設定有關聯。

分布式的Erlang OTP介紹

分布式的erlang otp介紹 guibin.beijing gmail.com erlang僅僅能在具有相同的magic cookie系統之間的直接對話。如果想要在幾台機器之間執行相互通訊的erlang程式,最簡單的方法就是放置乙個名叫 erlang.cookie 的檔案在每個機器的 home目...

socket與sock的聯絡

套接字究竟是什麼 如果你知道linux系統中程序間通訊的方式,就應該知道套接字也是其中一種。但套接字特別之處在於它不僅可以用來實現同一臺主機上程序間的通訊,還可以用來實現主機間的程序間的通訊。通訊的雙方各自開啟乙個套接字,套接字之間通過通訊鏈路相連。如果把兩個套接字之間的 連線 比喻成 水管 那麼套...

uwsgi配置檔案中的http和socket的區別

uwsgi配置檔案中的http和socket的區別 配置http 一般我們在配置python flask應用時都是使用http,讓nginx直接使用proxy pass就把它從本地 到前端伺服器 當uwsgi配置http 127.0.0.1 5000時,我們可以如下設定nginx進行 server ...