ノンブロッキングソケットのコーディング

返信する


答えを正確に入力してください。答えられるかどうかでスパムボットか否かを判定します。

BBCode: ON
[img]: ON
[url]: ON
スマイリー: OFF

トピックのレビュー
   

展開ビュー トピックのレビュー: ノンブロッキングソケットのコーディング

by hira » 2006年1月21日(土) 19:26

ioctlsocketの第1引数は、作成したソケットのハンドルです。
実際のコードがどうなっているかはわかりませんが、ioctlsocketの行をいきなり呼び出しているとしたらエラーになりますので、Sinryowさん提示のURLでコードの流れを実際のコードと比較していただくといいでしょう。
※実際のコード全体があればこちらでも実験できるかもしれませんが

by ゲスト » 2006年1月21日(土) 19:10

コンパイルは通るようになりましたが、stsに-1が返ってきて失敗しているようです。

コード: 全て選択

Declare Function ioctlsocket Lib "ws2_32.dll" (s As DWord, cmd As Long,  argp As DWordPtr) As Long
Const FIONBIO=&H5421
Dim val As DWord
Dim sts As Long

val=1
sts = ioctlsocket(id, FIONBIO, VarPtr(val))
では、駄目でしょうか。

Re: ノンブロッキングソケットのコーディング

by hira » 2006年1月19日(木) 15:29

ActiveBasicでは、変数のポインタはVarPtr関数で表します。さらに、FIONBIOという定数も定義されていないと思われますので、

コード: 全て選択

Const FIONBIO=&H5421
sts = ioctlsocket(id, FIONBIO, VarPtr(val))
としてください(実際にはConstはグローバルで定義してください)。

Re: ノンブロッキングソケットのコーディング

by Fuzzy » 2006年1月18日(水) 22:03

初心者で申し訳ないないのですが、下記の様にコーディングしましたが、
コンパイルが通りません。
具体的なコーディングを教えてもらえないでしょうか。

val=1
sts = ioctlsocket(id,FIONBIO, &val)

Re: ノンブロッキングソケットのコーディング

by Sinryow » 2006年1月15日(日) 01:38

ソケット通信は始めたてで「ノンブロッキングソケット」という言葉も初めて聞いたのですが
検索をかけた限りでは,ここが分かりやすいでしょうかね…
http://www.geekpage.jp/programming/wins ... ocking.php

ノンブロッキングソケットのコーディング

by Fuzzy » 2006年1月14日(土) 00:08

ノンブロッキングでパケット受信を行うようにしたいのですが、どのようにコーディングすればいいのでしょうか。

ページトップ