たまにタイムアウトしますが、これは SKKサーバに対するクエリ “1ほげほげ ” の “1” と “ほげほげ ” が別パケットになった場合、rskkserv から切断されることによるようです(EPWINGの辞書使用中)。
暫定対処として、
send( s, "1", 1, 0 );
send( s, queryString, len, 0 );
となっている箇所を、下記のようにします。(それでもOSが勝手にパケットを分ける可能性もありますが、、、)
strcpy( buf, "1" );
strcat( buf, queryString );
send( s, buf, len + 1, 0 );
追記(23:28)
結局、WSASend を使うことにした。
WSABUF sendBuffer[ 2 ];
DWORD len;
int ret;
sendBuffer[ 0 ].len = 1;
sendBuffer[ 0 ].buf = “1”;
sendBuffer[ 1 ].len = midasiLen;
sendBuffer[ 1 ].buf = (char *)midasi;
ret = WSASend( s, sendBuffer, 2, &len, 0, NULL, NULL );