當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


erlang open()用法及代碼示例


open() -> {ok, Socket} | {error, inet:posix()}
open(Port) -> {ok, Socket} | {error, inet:posix()}
open(Opts) -> {ok, Socket} | {error, inet:posix()}
open(Port, Opts) -> {ok, Socket} | {error, inet:posix()}
類型:
Opts = [Opt]
Opt = 
    {ifaddr, IP | SockAddr} |
    {ip, IP} |
    {port, Port} |
 inet:address_family() |
    {type, SockType} |
    {netns, file:filename_all()} |
    {bind_to_device, binary()} |
 option()
IP = inet:ip_address() | any | loopback
SockAddr = socket:sockaddr_in() | socket:sockaddr_in6()
Port = inet:port_number()
SockType = seqpacket | stream
Socket = sctp_socket()

創建 SCTP 套接字並將其綁定到所有 {ip,IP} (或同義 {ifaddr,IP} )選項指定的本地地址(此函數稱為 SCTP multi-homing)。默認的 IPPortany0 ,表示綁定到任何空閑端口上的所有本地地址。

也可以使用 {ifaddr, SockAddr} ,在這種情況下,它優先於 ipport 選項。不過,這些選項可用於更新 ifaddr 的地址和端口(如果它們出現在選項列表中的 ifaddr 之後),但不建議這樣做。

其他選項:


inet6

設置 IPv6 的套接字。


inet

設置 IPv4 的套接字。這是默認設置。

一組默認的socket選項用來。特別是,套接字打開於二進製被動的模式,帶有SockTypeseqpacket,並且具有相當大的核心和司機緩衝器.

如果插座位於被動的模式數據可以通過接收recv/1,2調用。

如果插座位於積極的模式數據接收到的數據作為消息傳遞到控製進程:

{sctp, Socket, FromIP, FromPort, {AncData, Data}}

參看recv/1,2有關消息字段的說明。

注意

遺憾的是,此消息格式與open(Port)帶有輔助數據的消息格式,以及來自recv/1,2返回元組格式。

相關用法


注:本文由純淨天空篩選整理自erlang.org大神的英文原創作品 open() -> {ok, Socket} | {error, inet:posix()}。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。