このバージョンのヘルプはこれ以降更新されません。最新のヘルプは https://www.jmp.com/support/help/ja/15.2   からご覧いただけます。


Socket( )を使って作成したソケットには、さまざまなメッセージを送ることができます。
リスニングソケットに接続する。接続に成功した場合は{"connect", "ok"}、失敗した場合はエラーが戻されます(たとえば、{"connect", "CONNREFUSED: The attempt to connect was forcefully rejected."})。
STREAMメッセージを受信します。データとその他の情報がリスト形式で戻されます。Recvには、受信できるバイト数を指定する数値引数が必要です。
重要: この問題を回避するため、JSLコールバックを使用するバックグラウンド処理があります。recvrecvfrom、またはacceptは、ソケットを非ブロックに設定し、Waitステートメントの間やJMPがアイドルのときにポーリングして、バックグラウンドで動作させることができます。
ioctlはリストを戻します。たとえば、{"ioctl", "ok"}、またはソケットがバインド(下のbindを参照)または接続されていない場合は{"ioctl", "NOTCONN: The socket is not connected."}を戻します。
クライアントソケットが待機(リッスン)するアドレスを、サーバーソケットに通知します。bindは、ローカルコンピュータのポートをソケットに関連付けます。ソケットがlistenするためには、この処理が必要です (下を参照)。bindで指定したポートは、接続するソケットに対していつも使用されるとは限りません。オペレーティングシステムが、使用されていないポートを選びます。サーバーにはbindが必要です。サーバーに接続したいユーザは、どのポートが使用されるのかを知っている必要があるためです。通常使用されるポートは、HTTPポートである80です。bindはリストを戻します。たとえば、{"bind", "ok"}、または使用しているコンピュータ上にない名前にバインドしようとしている場合は{"bind", "ADDRNOTAVAIL: The specified address is not available from the local machine."}を戻します。別のソケットは、使用しているコンピュータの名前と番号がわかっていれば、このソケットに接続することができます。
接続をリッスンするように、サーバーのソケットに伝えます。リスニングソケットは、他のソケットからの接続をリッスンします。一度、リッスンの状態にすれば、継続して、リッスンの状態になっています。accept(下を参照)は、他のソケットからの接続を受け入れるのに使用します。listenはリストを戻します。たとえば、{"listen", "ok"}、またはバインドコールに失敗した場合は、{"listen", "INVAL: The socket is (または状況によってはis not) already bound to an address.または、Listen was not invoked prior to accept.または、Invalid host address.または、The socket has not been bound with Bind."}を戻します。
サーバーソケットに、接続を受け入れて新しい接続ソケットを戻すよう伝えます。acceptは、何が起こったかを記したリストを戻します。処理が成功した場合は接続先のソケットに接続される新しいソケットもリストに記されます。たとえば、{"Accept", "ok", "localhost", socket( )}などです。ここで、localhostは接続したコンピュータの名前で、4番目の引数はメッセージをsendまたはrecvするのに使用するソケットです。
接続先について問い合わせます。GetPeerNameは、接続先のソケットに関する情報のリストを戻します。たとえば、{"getpeername", "ok", "127.0.0.1", "4087"}といったリストを戻します。サーバーソケットの場合、接続したクライアントのアドレスとポートが判明します。クライアントソケットの場合、接続要求で使用したサーバーの名前とポートを再確認できます。
接続元について問い合わせます。GetSockNameは、こちら側のソケットに関する情報のリストを戻します。たとえば、{"getsockname", "ok", "localhost", "httpd"}といったリストを戻します。クライアントソケットの場合、オペレーティングシステムが割り当てたポートが判明します。サーバーソケットの場合、bindによってすでにその情報はわかっています。