ESP32(クライアント)-処理(サーバー)に接続しようとしましたが、機能したと思いますが、サーバーは何も受信または印刷しません。クライアントがいつ接続されているかを処理が認識しないのはなぜですか?私はProcessingに不慣れで、それがどのように機能するかを理解しようとしています。
処理:
import processing.net.*;
Server myServer;
void setup() {
size(400, 400);
// Starts a myServer on port 5204
myServer = new Server(this, 5204);
println(Server.ip());
}
void serverEvent(Server someServer, Client someClient) {
println("We have a new client: " + someClient.ip());
}
ESP32:
#include <WiFi.h>
const char* ssid = "myNetwork";
const char* pass = "myPassword";
void setup()
{
Serial.begin(115200);
delay(10);
WiFi.begin(ssid,pass);
Serial.print("Connecting.");
while(WiFi.status() != WL_CONNECTED) {
Serial.print(".");
delay(500);
}
Serial.print("WiFi connected - IP address: ");
Serial.println(WiFi.localIP());
delay(500);
}
void loop()
{
const uint16_t port = 5204;
const char * host = "10.0.26.xx";
Serial.print("Connecting to ");
Serial.println(host);
// Use WiFiClient class to create TCP connections
WiFiClient client;
if (client.connect(host, port)){
Serial.println("Sending data"); // printed on serial monitor
client.print("Hello");
}
// This will send a request to the server
client.print("Send this data to the server");
Serial.println("Closing connection.");
client.stop();
}
編集済み
処理プログラムを実行しなくても、同じプリントが得られます。それで、サーバーではなく別の場所に接続されていますか?
処理時に、「パラメータsomeServerの値は使用されていません」というメッセージのみが表示されます。
さて、私は理解しました。それはだったファイアウォールの問題。ファイアウォールを無効にすると、機能しました。また、その前に、処理とポートの新しいルールを作成しましたが、何らかの理由でそれが機能しませんでした。理由がわかりません。無効にすると、私の問題の解決策になりました。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加