int socket_create( int mode, string read_callback, void | string close_callback );
整數 socket_create( 整數 mode, 字串 read_callback, 無參數 | 字串 close_callback );
MUD 以 TCP 協定傳送 LPC 資料。
STREAM 以 TCP 協定傳送原始資料。
DATAGRAM 以 UDP 協定傳送資料。
read_callback 這個參數是給驅動程式在 socket 由對方接到資料時呼叫用的函式名稱。這個讀取回呼(callback)函式應該是如下格式:
這裡的 fd 是接收資料的 socket,而 message 是接收到的資料。
close_callback 這個參數是給驅動程式在 socket 不正常關閉時呼叫的函式名稱,如不同於
socket_close() 的呼叫結果。這個關閉回呼函式應該是如下格式:
這裡的 fd 是已被開閉的 socket。注意:close_callback 不能用在 DATAGRAM 型態的 socket 上。
失敗時是一個下列意義的負值。
EESOCKET 建立 socket 的問題。
EESETSOCKOPT setsockopt 的問題。
EENONBLOCK 設定非停滯(non-blocking)模式的問題。
EENOSOCKS 沒有多餘的 efun sockets。
EESECURITY 企圖違反安全。