GR-SAKURA
GR-KURUMI
GR-COTTON
GR-CITRUS
GR-PEACH
GR-KAEDE
GR-ADZUKI
GR-LYCHEE
GR-ROSE
GR-MANGO(*)
SNShield
Web Compiler
IDE for GR
TOPPERS関連
女子美コラボ
その他
※プロデューサミーティング中
作り方使い方資料
イベント関連
作品記事
体験記事
ライブラリ
ツール
その他・過去ファイル
Ehternet クライアント ライブラリを使用しています。
サーバーはGR-SAKURAで立てました。ローカルドメインでクライアント(別のGR-SAKURA)サーバー接続を行います。
(不具合1)
通常は問題なく接続できますが、サーバーのGR-SAKURAの電源を落としても、クライアント側のGR-SAKURAは、"connection failed"の処理を行わず、つながったままの処理をしてしまいます。電源が落ちたサーバーにconnection 要求をしても、connected 処理をしてしまうのは、どうしてでしょうか?
if (client.connect(server, 80)) {
if
(client.connect(server, 80)) {
Serial.println(
"connected"
);
// Make a HTTP request:
}
else
{
//if you didn't get a connection to the server:
"connection failed"
client.connectは接続を要求する関数で、戻り値は整数型の1か負の値です。0は取りません。つまり何が起きてもこのif文は”connected”の方に動きます。
ところでTCP/IPで相手側が落ちた事を何もアクションを起こさずに知る方法って、直接ケーブルを1対1で接続する以外に有りましたっけ?
chobichan, ありがとうございます。 if (client.connect(server, 80)==1) の条件にして、
Serial.println("connection failed");
の、処理ができるようになりました。
「直接ケーブルを1対1で接続する以外に有りましたっけ?」の質問は、私にもわかりません。