สื่อสารเหตุการณ์การคลิกปุ่มด้วยซ็อกเก็ต


1

Desire: ฉันมีอุปกรณ์หรือตัวควบคุมขนาดเล็กฉันจะเรียกมันว่า mc ที่ฉันต้องการสื่อสารเมื่อมีการคลิกปุ่มหน้าเว็บโดยใช้ซ็อกเก็ต

MC1
<button id ='on1' name='mc1'>On</button>
<button id ='off1' name='mc1'>off</button>

รายละเอียด: สิ่งที่ฉันพยายามทำให้สำเร็จคือเมื่อมีการคลิกปุ่มส่งข้อมูลไปยัง mc

สิ่งที่ฉันพยายาม: ขณะนี้ฉันสามารถฟังพอร์ตและสามารถเขียนข้อมูลไปยัง mc รวมทั้งรับข้อมูลได้ เมื่อต้องการทำเช่นนี้ฉันเริ่มต้นไฟล์แม้ว่าเซิร์ฟเวอร์ php cli ไฟล์มีฟังก์ชั่นซ็อกเก็ตพื้นฐานเหล่านี้

 $socket = @socket_create_listen("port#");
 $client = socket_accept($socket);
 socket_write($client, $msg);
 socket_read ($client, 256);

mc เชื่อมต่อกับเซิร์ฟเวอร์ที่พอร์ต #

ปัญหา: ฉันมีปัญหาในการทำความเข้าใจวิธีเชื่อมช่องว่างระหว่างหน้าเว็บ php ของฉันด้วยปุ่มและส่งผ่านข้อมูลที่ปุ่มถูกคลิกไปยัง mc

พยายามแก้ปัญหา: ฉันสามารถมีไฟล์ที่ฟังพอร์ตทำงานจากนั้นในไฟล์แยกเขียนไปยังลูกค้าได้หรือไม่

หมายเหตุเพิ่มเติม : MC LAN ที่ฉันต้องการหลีกเลี่ยงการตั้งค่าการส่งต่อพอร์ตและ ip ภายนอกบางครั้งมีการเปลี่ยนแปลง ด้วยเหตุผลเหล่านี้ฉันเลือกให้ MC สร้างการเชื่อมต่อกับเซิร์ฟเวอร์เพื่อให้เซิร์ฟเวอร์เขียนไปยัง MC โดยไม่จำเป็นต้องส่งต่อพอร์ตและที่อยู่ ip ที่ไม่เปลี่ยนแปลง

ขอบคุณ JT


คุณไม่คิดว่า websockets อาจเป็นวิธีที่ง่ายที่สุดในการแก้ปัญหาของคุณหรือไม่
Eddy_Em

@Eddy_Em ซ็อกเก็ตเว็บไม่ต้องการเบราว์เซอร์หรือ
tman

ไม่พวกมันใช้ซ็อกเก็ตปกติ แต่ให้คุณใช้กับเบราว์เซอร์ได้
Eddy_Em

@Eddy_Em สามารถใช้ซ็อกเก็ตเว็บได้โดยไม่ต้องใช้เบราว์เซอร์คือคำถามของฉัน ฉันอยู่ภายใต้สมมติฐานซ็อกเก็ตเว็บที่จำเป็นต้องใช้เบราว์เซอร์ที่สามารถตีความการเขียนสคริปต์ฝั่งไคลเอ็นต์เช่นจาวาสคริปต์
tman

Websockets ช่วยให้คุณใช้ทั้งแอปพลิเคชันเบราว์เซอร์และคอนโซล ในกรณีที่ซ็อกเก็ตทั่วไปคุณไม่สามารถใช้เบราว์เซอร์และจำเป็นต้องเขียน CGI ระดับกลาง
Eddy_Em
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.