• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:MacとiOSアプリでのソケット通信について)

MacとiOSアプリでのソケット通信について

このQ&Aのポイント
  • MacとiOSアプリでのソケット通信についての要約文1
  • MacとiOSアプリでのソケット通信についての要約文2
  • MacとiOSアプリでのソケット通信についての要約文3

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

気になるのは、 iPhone実機をWifi経由でMacと同じLANに繋いでテストしているか? (モバイルデータ通信でキャリア経由で通信してないか?) という点と、 Macのファイアーウォールでチャットサーバ(ポート#3000)を 外部から接続できるよう許可しているか? という点です。 まずは、この点を確認してみてください。

t_maeda_goo
質問者

お礼

ファイアーウォールを無効にしたところ、通信できました。 初歩的な問題でお恥ずかしい限りです。ありがとうございました。

その他の回答 (1)

noname#190876
noname#190876
回答No.1

実際に、環境が同一なら、シミュレータで動くものは、実機でも動くはずです。 しかし、動かないなら、それは、どこかで、条件が、同じでないわけです。  もしかして、あなたは、 iOS Simulator - 同一のMac - サーバープログラム            case-1  が、 iphone - サーバープログラム(Mac) case-2  で、サーバーアドレス替えただけで、同じと思っているのでしょうか?  まず、 iOS Simulator(Mac-A) - サーバープログラム(Mac-B or PC) case-3 で、やってみることです。localhostなんてのは、絶対にタイムアウトが発生しない接続先なのですから。

t_maeda_goo
質問者

お礼

解決しました。ありがとうございました。

t_maeda_goo
質問者

補足

回答ありがとうございます。 iOSシミュレータ(Mac)とサーバプログラム(WindowsPC)で試した結果、きちんと通信出来ました。 なのでIPやポートの書き方は合っていると思います。そのソースのまま、実行先をiPhone実機に変更して実行してみたのですが、 ERROR: handshake failed ... The request timed out. とコンソールに出力されてしまいます。 また、試しにWindowsやMacからiPhoneに対してPingを飛ばしてみたのですが、通らず、 これが原因なのかなとも思いました。同一無線LANには接続されているのですが。。