Connect and send data between programs (Part 1) : Send data by Socket

ต้องการทดลองส่งข้อมูลระหว่างโปรแกรมต่างภาษา ต่างOS จากต่างเครื่องให้ติดต่อกันได้
โดยตัดสินใจใช้ Socket

Test Environment :
  • OS : 
    • Windows 8.1 64-bit
    • Linux Ubuntu 14.04 LTS in VMware Workstation 12 Player
  • Language
    • C++ (TDM-GCC 4.9.2 64-bit Compiler) , Dev-C++ 5.11 IDE.
    • Python 2.7.6


ขั้นตอนการทดลอง

1.บนเครื่องWindow เปิดโปรแกรม Dev-C++ เตรียม Compile code


2.ก่อนจะ Compile ให้ไปแก้ไขที่ Project Options (หรือกด Ctrl+H)
ที่ Tab Parameters ให้เพิ่ม -lws2_32 ในส่วนของ Linker


หากไม่เพิ่มตามนี้แล้ว Compile จะเกิด Error เนื่องจากหา Winsock Library ไม่เจอ



3. Compile & Run จะปรากฎโปรแกรมดังรูป


4. ขณะนี้ได้ทำการเปิด Socket รอรับการเชื่อมต่อแล้วที่ Port 8888 จากนั้นหา IP Address ของ Socket Server โดยเข้า Command Prompt -> ipconfig


5. ได้ IP แล้วคือ 192.168.1.37 จากนั้นให้ไปแก้ Code Python ที่ตัวแปร host


6. เซฟไฟล์ แล้วรันโปรแกรม Python เพื่อเชื่อมต่อ Socket จะได้ผลดังรูป


7. จากนั้นดูที่โปรแกรม C++ หลังจาก Client ติดต่อเข้ามาแล้ว จะมีข้อความ Connection accepted


Reference :
https://stackoverflow.com/questions/3001827/os-independent-inter-program-communication-between-python-and-c
http://www.binarytides.com/winsock-socket-programming-tutorial/
https://stackoverflow.com/questions/19298082/trying-to-compile-winsock-program-in-dev-c-win7-error
https://www.tutorialspoint.com/python/python_networking.htm

ความคิดเห็น

โพสต์ยอดนิยมจากบล็อกนี้

Connect and send data between programs (Part 4) : Send large file + MD5 Checksum

XML

Connect and send data between programs (Part 2) : Send data using Thai language