English help on website



SocketIOオブジェクト(Ver9.35対応版)
目次JavaScript対応− SocketIOオブジェクト
SocketIOオブジェクト
SocketIOオブジェクトは、ソケットの入出力を扱うオブジェクトです。
サーバーの場合、createSocketServerで指定する関数のパラメータにあります。
クライアントの場合、createSocketClientで作成できます。

メソッド
connect(port,ipaddress)
サーバーの場合、このメソッドを呼ぶ必要はありません。
クライアントの場合、サーバーに接続します。

パラメータ1にポート番号を指定します。
パラメータ2にIPアドレスを指定します。省略可能です。多くの場合、自身のPCとして、'127.0.0.1'を指定します。省略すると'127.0.0.1'になります。

返り値はありません。
例:
js{
  //socket = ...などの前処理
  socket.connect(1234,'127.0.0.1');
}

write(s)
文字列を書き込みます。

パラメータ1に文字列を指定します。

返り値はありません。
例:
js{
  //socket = ...などの前処理
  socket.write(s);
}

writeLine(s)
文字列の末尾に改行を追加して書き込みます。

パラメータ1に文字列を指定します。

返り値はありません。
例:
js{
  //socket = ...などの前処理
  socket.writeLine(s);
}

writeSimulation(s)
writeメソッドで文字列を書き込んだことを想定した場合のバイト数を取得します。(書き込みはしません)

パラメータ1に文字列を指定します。

返り値は数値で、バイト数です。
バイト数を計算するためのエンコーディングはUTF-8です。
例:
js{
  //socket = ...などの前処理
  nByte = socket.writeSimulation(s);
}

readAll(nTimeout)
全て読み取って文字列を返します。

パラメータ1にタイムアウトを指定します。(ミリ秒)
応答が無い場合は、タイムアウトまで固まります。

返り値は文字列です。
タイムアウトの場合はundefinedが返ります。
例:
js{
  //socket = ...などの前処理
  s=socket.readAll(nTimeout);
}

readLine(nTimeout)
行を読み取って文字列を返します。

パラメータ1にタイムアウトを指定します。(ミリ秒)
応答が無い場合は、タイムアウトまで固まります。

返り値は文字列です。
タイムアウトの場合はundefinedが返ります。
例:
js{
  //socket = ...などの前処理
  s=socket.readLine(nTimeout);
}
readSeparated(nTimeout,nSeparate)
指定の区切りまでを読み取って文字列を返します。

パラメータ1にタイムアウトを指定します。(ミリ秒)
応答が無い場合は、タイムアウトまで固まります。

パラメータ2に区切りを指定します。
0を指定すると空行(改行だけの行)までを読み取ります。
1以上を指定すると、指定バイト数までを読み取ります。

返り値は文字列です。
タイムアウトの場合はundefinedが返ります。
例:
js{
  //socket = ...などの前処理
  s=socket.readSeparated(nTimeout,0);//空行まで
}

例:
js{
  //socket = ...などの前処理
  s=socket.readSeparated(nTimeout,123);//123バイトまで
}


onReadAll(func)
全て出力されているときに呼ばれる関数を指定します。

パラメータ1に関数を指定します。
マクロが終わった後に、非同期的に呼ばれることになります。
応答が無くても固まりせん。

返り値はありません。

呼ばれる関数のパラメータ1に読み込まれた文字列、パラメータ2にidがあります。
例:
js{
  //socket = ...などの前処理
  socket.onReadAll(function(s,id){});
}

onReadLine(func)
行までが出力されているときに呼ばれる関数を指定します。

パラメータ1に関数を指定します。
マクロが終わった後に、非同期的に呼ばれることになります。
応答が無くても固まりせん。
一度関数を指定すると、自動的に次の行も読んでいきます。

返り値はありません。

呼ばれる関数のパラメータ1に読み込まれた文字列、パラメータ2にidがあります。
例:
js{
  //socket = ...などの前処理
  socket.onReadLine(function(s,id){});
}

onReadSeparated(func,nSeparate)
指定の区切りまでが出力されているときに呼ばれる関数を指定します。

パラメータ1に関数を指定します。
マクロが終わった後に、非同期的に呼ばれることになります。
応答が無くても固まりせん。
onReadLineとは違い、自動的に次の区切りまでは読みません。
次の区切りを読む場合、もう一度onReadSeparated()で指定します。

パラメータ2に区切りを指定します。
0を指定すると空行(改行だけの行)までを読み取ります。
1以上を指定すると、指定バイト数までを読み取ります。

返り値はありません。

呼ばれる関数のパラメータ1に読み込まれた文字列、パラメータ2にidがあります。
例:
js{
  //socket = ...などの前処理
  socket.onReadSeparated(function(s,id){},0);//空行まで
}

例:
js{
  //socket = ...などの前処理
  socket.onReadSeparated(function(s,id){},123);//123バイトまで
}

例:
jsmode "\\" + currentmacrofilename; //オブジェクトが他のマクロと被らないように固有の名前空間にしてください
js{
  //socket = ...などの前処理
  socket.onReadSeparated(onReadA,0);
  function onReadA(s,id){
    socket.onReadSeparated(onReadB,123);
  }
  function onReadB(s,id){
    socket.onReadSeparated(onReadA,0);
  }
}

close() / destroy()
ソケット閉じます。

パラメータはありません。

返り値はありません。


プロパティ
connecting
接続しているかどうか。(取得)

id
このソケットを識別するID。(取得)

port
接続に使われているポート番号。(取得)



参照:
createSocketServer
createSocketClient
SocketServer
SocketIO