ネットワーク非同期イベントについて


マルチプレイ

ネットワーク非同期イベントについて

ここではネットワーク機能を使用するときにトリガされるサブイベント"ネットワーク非同期イベント"について説明をします。

ネットワークイベントは、ネットワークトラフィックの発生によりトリガされるもので、ネットワーク関数にリンクしています。 このイベントは特別な変数"async_load"にds_mapとして結果を格納し、その情報はネットワークイベントのタイプによって異なります。

共通の情報

次のキーは、受信したすべてのネットワーク関数に共通したもので、つねにasync_loadのマップに存在します

  • "type": ネットワークイベントのタイプで、これは下記の定数をいずれかを有します。
  • "id": ソケットID(network_create_server()またはnetwork_create_sokect()?関数により返却されるID)
  • "ip": ソケットのIPアドレス(文字列)

"type"の値は以下の3つのいずれかになります

定数一覧

定数名説明
network_type_connectこのイベントは接続によってトリガされた.
network_type_disconnectこのイベントは切断によってトリガされた
network_type_dataこのイベントはデータの受信によりトリガされた.

接続・切断

"type"が"network_type_connect"または"network_type_disconnect"イベントである場合、async_loadのマップは以下の追加のキーを持ちます。

  • "socket":このキーは接続・切断のソケットIDを保持します

データの受信

"type"がデータ受信となるイベント"network_type_data"である場合、以下のキーを持ちます

  • "buffer": これはイベントによって生成されたユニークな「バッファID」です。"grow"タイプのバッファで1byteアラインとなります。このイベントの以降のすべての関数で使用するIDとなります。ただasync_loadのマップのように作成されたバッファは、自動的にこのイベントの終了時にメモリから削除されます。詳細はバッファについて?を参照してください
  • "size": これは受信したバッファのデータサイズです

注意

async_load変数のマップはこれらのイベント開始時に作成され、すべての他のイベントでは値はすべて「-1」となります。このイベントにより作成されたバッファは、このイベントのみ有効で、イベントが終わったときには開放されます

Wiki内検索

#search(): You already view a search box

MENU

ドキュメント

GMLリファレンス

2ch

その他



最新の30件

2024-03-07 2023-08-09 2023-05-21 2023-05-20 2023-05-04 2022-10-13 2022-07-21 2022-07-02 2022-04-06 2021-11-30 2021-11-26 2021-10-03 2021-09-23 2021-08-15 2021-06-02 2021-01-23 2021-01-21 2021-01-19 2021-01-18 2021-01-16 2021-01-15

人気の10件

今日の10件



これまでの訪問者: 1099
今日の訪問者: 1
昨日の訪問者: 0
閲覧者: 5