ネット対戦ゲームをしていたら、いつもソケットエラーって言葉が出てきて
接続が切断されます。
ソケットエラーが出てこないようにするにはどうしたらよいのでしょうか?
教えてください。

A 回答 (1件)

エラーメッセージがどういうものなのか明示してないので、


詳しいことはわかりませんが、ゲームの不具合だと思います。
ゲームのプログラムで、ソケットが切断されたら
再接続する処理を実装する必要があると思います。

#ソケットが勝手に切断されるというのも起こりえる話ですからね。

なので、あなたにできることは、ゲームの作者にエラー内容を教えてあげる
ことくらいしかできないかと思います。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qselect(ソケット)

ソケットを用いてプログラミングしていると、よく出てくると思うのですが、次の意味を教えてください。
select(SH); $| = 1; select(STDOUT);
$|(特殊記号)やSTDOUTなど、なるべる細かく教えて頂けると幸いです。
よろしくお願いします。

Aベストアンサー

ソケットは効率的な処理をするために通常はバッファリングするモードになっています。
(その都度処理するよりある程度やりとりするデータが溜まってまとめてやったほうが効率的)

これを回避(フラッシュ)したいときにselect(SH)のように
ソケットを選んで$|=1 でフラッシュモードに切り替えています。
詳しくないのですがプログラミングにおいてフラッシュが用いられるのは、ソケット通信で双方向にやり取りするときが多いと思います。
ちなみにソケットをclose(SH)すると自動的にフラッシュしてくれます。

また、デフォルトではSTDOUTが選択状態になっていますので
> print "hello.\n";

> print STDOUT "hello.\n";
の省略形というわけです。

余談ですが、Perl使いは面倒くさがりが多いので慣用句みたいに
> select((select(SH),$|=1)[0]);
と、まとめて書く人もいます。
これはselectが返す値が直前まで選択されていたソケットだからできる技です。

ソケットは効率的な処理をするために通常はバッファリングするモードになっています。
(その都度処理するよりある程度やりとりするデータが溜まってまとめてやったほうが効率的)

これを回避(フラッシュ)したいときにselect(SH)のように
ソケットを選んで$|=1 でフラッシュモードに切り替えています。
詳しくないのですがプログラミングにおいてフラッシュが用いられるのは、ソケット通信で双方向にやり取りするときが多いと思います。
ちなみにソケットをclose(SH)すると自動的にフラッシュしてくれま...続きを読む

QヤフーのPOPメールでソケットエラーが出てしまいます

今日初めて、ヤフーメールでOutlookExpressを使ってメールを送ろうとしたのですが、何度やっても ソケットエラー10060(おそらくタイムアウト)がでてしまいます。待機の時間を5分に延ばしても、あっという間にタイムアウトしてしまうのですが、どうしたらうまく送ることができるでしょうか?

Aベストアンサー

アンチウイルスソフトは使ってませんか?
ウイルスバスターでしたら『除外アプリ』にOutlookExpressが有るか確認

QTCP/IPプログラミングでのselectについて

selectは使用しているソケットのディスクリプタを登録させれば、send、writeシステムコールからのデータの受信等は検知しますよね。
では、コネクション要求(connect)は、検知するのでしょうか?
どなたか回答よろしくお願いします。

Aベストアンサー

もちろん検知しますよ。
LISTENしているソケットに対しての要求を検知したら
acceptしてやればOKです。

QMPOのオンライン対戦でエラーが出ます。

先日、メタルギアソリッドポータブルオプス(以下MPO)でオンライン対戦をしようとネットワークに接続したらUDPポートチェック中と言う画面がPSPに表示されこのようなメッセージがでました。

現在のネットワーク環境では【ゲーム作成】を行うことはできません。
(エラー番号P519)


MPOのサポートサイトを見てみると手動でUDPポートを解放すると書いてありましたが全く分かりません;

PSPのバージョンはいつも最新にしてあります。

使用している無線ルーターはバッファローのゲーム機専用無線LAN USBソフトウェアアクセスポイント WLRーU2ーKG54です。

ゲーム作成以外は難なくできますが毎回ポートチェックすると同じメッセージがでてゲーム作成ができません。


UDPポートの解放の仕方を教えてくださいm(_ _)m

Aベストアンサー

最初に、利用しているルーターなどの記載が無いので、ポート解放の方法と言われても説明のしようがないです。

あえて説明するのであれば、
【ルーターの設定画面でポートを解放してください。】

としか言いようがない。

この機種の場合はPCのファイヤーウォールの穴あけも必要となるのかどうか不明ですが、一応PCにインストールされているセキュリティソフトの名称も補足してください。

Qselectの意味

selectの意味

リファレンスマニュアルと本のselectの説明がわかりません。
説明の文はなんとかわかるのですが、引数のとり方が「reads[, writes[, excepts[, timeout]]]」となっていて、これは 3 要素の配列を返しているように見えないので、混乱します。「reads[, writes[], excepts[], timeout[]」という書き方なら3 要素の配列を返していると納得できるのですが、ここで返しているのはreadsの中にwritesがあり、更にその中にtimeoutがある配列を返しているんでしょうか?

手元の本に「selectはリクエストを受信すると、リクエストを検出したソケットだけをリストに返します。」とあるのですが、ここで言うソケットとは入力、出力、例外を指していて、リストというのはつまり配列のことなんでしょうか?

Aベストアンサー

a = hoge.select(ARGS)

の場合に、ARGSの部分が引数です。
ここは、「reads[, writes[, excepts[, timeout]]]」とかかれているので
以下の4種類の書き方ができます。
hoge.select(reads, writes, excepts, timeout)
hoge.select(reads, writes, excepts)
hoge.select(reads, writes)
hoge.select(reads)

また、aに代入される値が戻り値です。
ここには、
「戻り値は、timeout した時には nil を、そうでないときは 3 要素の配列を返し、その各要素が入力/出力/例外待ちのオブジェクトの配列です(指定した配列のサブセット)」
と書かれているので
nil 若しくは [???,???,???]の形で値が代入されます。

これでご理解いただけるのではないでしょうか。

Qヤフー検索すると「スクリプトエラー」との表示がいつも出ます。。

いつもお世話になっております。
表題の件で相談です。

無線LANで使っているノートPCでヤフー検索をすると、
検索結果ページが表示される際に、いつも
「スクリプトエラー」というエラーメッセージが出てきて、
「このページのスクリプトを実行し続けますか?」で
YESをクリックしないと先に進めません。
(YESをクリックすれば通常通り使えます)

少し前までは、このようなエラーメッセージは出ずに
普通に表示されていたのですが、
最近になって毎回このエラーメッセージが出るようになりました。

「エラー」の欄には、「SymRealWinOpenは宣言されていません」と書かれています。
これは無線LANにしたことと関係ありますか?
ちなみにデスクトップでこのエラーは出たことがありません。

ヤフー検索するたびに、エラーメッセージが出て、
手間取るので、このエラーの解決方法をご存知の方、
教えてください。
よろしくお願いいたします。

Aベストアンサー

Symantec社の Norton Internet Security の広告ブロック機能を使うと、そのエラーが出る場合があります

http://www.symantec.com/region/jp/products/nis/

Qソケットプログラミングで・・

簡単なソケットプログラムを作ろうとしておりまして、サイトで調べたりしておりましたところ、なんとか分かってきたのですが、ひとつどうしてもわからないことがありますので教えていただけますでしょうか。
ソケットから受信するメッセージの生成のところなんですが、
「WSAAsyncSelect(m_socket,m_hWnd,WM_USER_ASYNC_SELECT,FD_READ | FD_WRITE)」
で、2番目の引数「m_hWnd」がわかりません。
教えていただけないでしょうか?よろしくお願いします。

Aベストアンサー

こちらの「III.非同期ソケット通信」のところが参考になりませんか?
WSAAsyncSelect()で、例えば受信データありの場合にイベントとして通知する
ウィンドウのハンドルをここに記述しておき、そのウィンドウのイベント
ハンドラで受信処理を行なうようなプログラミングを可能にします。
http://yonex1.cis.ibaraki.ac.jp/~yonekura/2002kadai/lecture03.html

参考URL:http://yonex1.cis.ibaraki.ac.jp/~yonekura/2002kadai/lecture03.html

QPC起動時、いつもネットが切断状態に設定されている

無意識に設定を変えたのかわからないのですが、PCを起動後、インターネットがつながらない状態になっています。
起動するたびに、下記の手順でその都度接続しています。

コントロールパネル>ネットワークとインターネット>ネットワークと共有センター>アダプターの設定の変更>接続
この最後の画面中の「インターネット接続 WAN Miniport(PPPOE)」部分が「切断」になっているので、ダブルクリックして接続しています。

ちなみに、その前の画面「ネットワークと共有センター」の「フルマップの表示部」分では、自分のPC・アダプター・インターネット(地球のアイコン)は、切断を示す×マークはなく、全部二重線でつながれた接続状態になっています。

Q1:PC起動後、「切断」に設定されている状態を、今までのように自動でネットにつながるようになりますでしょうか?

Q2:あと、貼付画像にある「フルマップの表示」部分の真ん中が「複数のネットワーク」になっているのはいいのでしょうか? 
今までは、「ネットワーク」という家のアイコンだったように記憶しています。
そしてその「ネットワーク」がなくなり、「ネットワーク2」が出現しました。

構造がよくわかっておらず、混乱しています。どうぞよろしくお願い致します。

PC環境と状態:
ワイヤレス使っていません。
自宅で自分のPC1台のみを、有線でNTT光に引込線でダイレクトにつないでいます。
OS: Windows7、PC:東芝dynabook EX/66M、接続:NTTフレッツ光ファミリータイプ

無意識に設定を変えたのかわからないのですが、PCを起動後、インターネットがつながらない状態になっています。
起動するたびに、下記の手順でその都度接続しています。

コントロールパネル>ネットワークとインターネット>ネットワークと共有センター>アダプターの設定の変更>接続
この最後の画面中の「インターネット接続 WAN Miniport(PPPOE)」部分が「切断」になっているので、ダブルクリックして接続しています。

ちなみに、その前の画面「ネットワークと共有センター」の「フルマップの表示部」分では...続きを読む

Aベストアンサー

参考までに。
http://www.lifehacker.jp/2013/05/130508force_cable_connection.html
http://crocus.at.webry.info/201301/article_3.html

Qint select(int n, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout)について

見当違いな質問かもしれませんがお願いします。

複数のソケットを監視する際にselectを使う場合のことですが、
selectの動作と戻り値について疑問があります。

http://www.linux.or.jp/JM/html/LDP_man-pages/man2/select.2.html
ここを参照すると、selectの戻り値は
「更新された 3 つのディスクリプタ集合に含まれているディスクリプタの数 (つまり、 readfds, writefds, exceptfds 中の 1 になっているビットの総数) を返す。」
とあります。
私の中でselectは登録してあるFDのうち、一つでも動きがあれば即座にselectを抜けるもの、という認識です。
この認識だとreadfds,writefdsが引数として与えられているとしても、
どちらかのfd_setのうち、一つでも動きがあればselect文は
抜けてしまうことになります。とすると、戻り値として
「readfds, writefds, exceptfds 中の 1 になっているビットの総数」
は常に1ということになってしまいます。しかし、総数というからには
複数同時に1になることもあるはずです。

私の認識が間違っているとは思うのですが、どう間違っているのかわかりません。
select文の動きについて詳しく教えていただけないでしょうか。
または良いページがあれば教えてください。

見当違いな質問かもしれませんがお願いします。

複数のソケットを監視する際にselectを使う場合のことですが、
selectの動作と戻り値について疑問があります。

http://www.linux.or.jp/JM/html/LDP_man-pages/man2/select.2.html
ここを参照すると、selectの戻り値は
「更新された 3 つのディスクリプタ集合に含まれているディスクリプタの数 (つまり、 readfds, writefds, exceptfds 中の 1 になっているビットの総数) を返す。」
とあります。
私の中でselectは登録してあるFDのうち、一つでも動きが...続きを読む

Aベストアンサー

>私の中でselectは登録してあるFDのうち、一つでも動きがあれば即座にselectを抜けるもの、という認識です。
この認識はあっています。
しかし、selectを呼び出す以前にOKになっているFDがあれば、それらは全てビットがONになります。

話しを簡単にする為に、受信のみのソケットを3つ作成したとします。
これらの3つのソケットに向けて相手が電文を送ったとします。
その状態でまだ、こちらはselectを呼び出さずにいます。しばらくしてから、selectを呼び出すと、selectは即座にリターンし、3つのビットが一度にONになっているはずです。
一方、相手が、一切電文を送ってない状態で、selectを呼び出した場合は、何れかのビットがONになればリターンするので、そのときは、貴方が想像しているように
ビットの総数は1になる可能性が高いです。
従って、相手が電文を送る前にselectを呼び出すか、送った後にselectを呼び出すかは、その時のタイミングにより異なります。従って、ビット数の総和が常に1であるとは、考えない方が無難です。(1つのソケットしか使用しない場合は別ですが・・・)

>私の中でselectは登録してあるFDのうち、一つでも動きがあれば即座にselectを抜けるもの、という認識です。
この認識はあっています。
しかし、selectを呼び出す以前にOKになっているFDがあれば、それらは全てビットがONになります。

話しを簡単にする為に、受信のみのソケットを3つ作成したとします。
これらの3つのソケットに向けて相手が電文を送ったとします。
その状態でまだ、こちらはselectを呼び出さずにいます。しばらくしてから、selectを呼び出すと、selectは即座にリターンし、3つのビ...続きを読む

Qソケットエラーでメール受信できません

23日からOUTLOOK EXPRESSが「ソケットエラー:10061 エラー番号:0x800CC0E」でメール受信できません。
プロバイダー(JUSTNET)への電話は話中でつながりません。ADSLはつながっており、インターネットは大丈夫です。メルコのLANカードは、指し込みはできていますが、LANカードが機能していないのでしょうか。
IP設定のところで、MELCO LPC2-T Adapterを選んでも、IPアドレスは、そのまま保存できません。詳細を開けて、Ethernetアダプタ情報では「リース取得日:03 25 02 21:52:54 リース期限:03 26 02 21:52:54」のような変な?設定になってます。

素人にもわかる「メール受信できるよう設定しなおす方法」をお教えください。

Aベストアンサー

> ソケットエラー:10061 エラー番号:0x800CC0E

この前に「サーバーへの接続は失敗しました」と表示されていると思います。下記URLの「メール受信時のエラー」の「サーバーへの接続は失敗しました」の項目をご覧ください。
http://www.support24.at-home.ne.jp/outlookexpress.html

インターネットは大丈夫とのことですので、IPアドレスなどは関係ないと思います。

参考URL:http://www.support24.at-home.ne.jp/outlookexpress.html


人気Q&Aランキング

おすすめ情報