申し訳ありません、ソースの提示を行っていませんでした。
関係のない部分の表記は削っています。
int mine_network_handle = -1; // 接続側マシンに返されるネットワークハンドル
int other_network_handle = -1; // 被接続側マシンに返されるネットワークハンドル
int other_user_num = 0; // 送信したいデータの値
IPDATA ip; // IPアドレス
void ClientProcess(void){ // 接続を試みる側の処理
if(message_connection_flg[0] == 1 && message_connection_flg[1] == 1 && message_connection_flg[2] == 0){ // 接続するための条件を満たしているかを判別します
// IPの値の入力はすでに完了しているものとします
mine_network_handle = ConnectNetWork(ip,59642);
if(mine_network_handle != -1)
connection_flg = 1; // 接続が成功すればフラグを立てて次のステップへと進みます
else if(mine_network_handle == -1){
error_flg = 1;
error_connection = 1;
message_connection_flg[2] = 1;
} // 接続が失敗すればエラーメッセージを表示します
}
}
void GameMain(void){ // 接続成功後に行う処理
// 接続待ち側の処理 -----------------------------------------------------------------
if(network_type == 1){
mine_usernum = 0;
if(game_close_flg == 0)
PreparationListenNetWork(59642);
else if(game_close_flg == 1)
StopListenNetWork();
if(other_network_handle == -1)
other_network_handle = GetNewAcceptNetWork();
if(other_network_handle != -1){
other_usernum = i + 1;
NetWorkSend(other_network_handle,&other_usernum,15);
}
}
// 接続を行った側の処理 -------------------------------------------------------------
else if(network_type == 2){
client_data_quant = GetNetWorkDataLength(mine_network_handle);
if(client_data_quant != 0)
NetWorkRecv(mine_network_handle,&client_data_buf,client_data_quant);
if(client_data_buf >= 0 && client_data_buf < 1000){
mine_usernum = client_data_buf;
client_data_buf = -1;
}
}
}
>B→A接続失敗はA→Bが接続している状況で行っているのでしょうか?
AとBが接続されていない状況でB→Aの接続に失敗します。
>ハンドルはPC固有で割り振られるものです。
>よって、異なることに何の問題もありません。
把握しました。ありがとうございます。