ระบบแนวคิดในใจของฉันเกี่ยวกับสิ่งที่ฉันกำลังมองหา:
รับสองโฮสต์ (สามารถเป็นพีซีได้) !
ทั้งคู่สามารถอยู่บนเครือข่ายไดนามิก (dynamic ip) ได้!
ทั้งสองเชื่อมต่อกับเซิร์ฟเวอร์กลางเดียวกันเพื่อค้นหากันและกัน! (ในกรณีของฉันต้องการ! โฮสต์ไคลเอ็นต์หนึ่งเครื่องสามารถทำหน้าที่เป็นเซิร์ฟเวอร์ได้ด้วย)
เซิร์ฟเวอร์ทำหน้าที่เป็นสะพาน! และทำให้การขุดอุโมงค์เกิดขึ้น!
โฮสต์แรกเชื่อมต่อกับเซิร์ฟเวอร์! และครั้งที่สองด้วย! ตอนนี้เซิร์ฟเวอร์แมปทั้งสองโหนด (โฮสต์)!
และส่งต่อ (อุโมงค์)!
เมื่อใดก็ตามที่โฮสต์หนึ่งส่งบางสิ่งไปยังโฮสต์ 2 มันจะไปที่เซิร์ฟเวอร์กลาง! ผ่านเว็บซอคเก็ตอะไรสักอย่าง! จากนั้นเซิร์ฟเวอร์จะส่งไปยังโฮสต์ที่สอง! โฮสต์คนที่สองตอบกลับมา! หรืออะไรก็ตาม! เซิร์ฟเวอร์จัดการการเชื่อมต่อและการขุดอุโมงค์ในสองวิธี!
คุณสมบัติที่นี่:
- โหนดสามารถเชื่อมต่อได้แบบไดนามิก! โดยไม่ต้องตั้งค่าเครือข่ายหรือ Dynamic DNS ... เหมือนที่ teamviewer หรือ anydesk ทำ!
- การเชื่อมต่อ tcp ถูกขุดและส่งต่อ!
- ทั้งสองโหนดเชื่อมต่อกันและสามารถทำงานได้ราวกับเป็นโฮสต์เดียว!
หากต้องการดำเนินการต่อ: pc1, pc2 => เชื่อมต่อ pc1 กับ pc2 โดยที่พวกเขาไม่ต้องรู้ที่อยู่ IP ของกันและกัน! ทั้งหมดแบบไดนามิก! ขุดอุโมงค์โดยตรง!
ทำอย่างไร ?
หลังมองต่าง! ฉันแค่คิดว่าวิธีที่ง่ายที่สุดคือทำสิ่งนั้นด้วยตัวเอง! อย่างที่ฉันสามารถจินตนาการได้ว่าฉันจะทำอย่างไร!
ฉันต้องการสิ่งนั้น! ขณะพยายามเรียกใช้ Android emulator บน AWS EC2! และสำหรับการส่งต่อ adb ไปยังโปรแกรมจำลองระยะไกล!
ฉันไม่ถามเกี่ยวกับ ทางออกสำหรับปัญหา Android! แต่ ระบบด้านบน! ฉันสงสัยว่ามีบางอย่างที่ทำสิ่งที่ฉันอธิบายไว้หรือไม่!
มิฉะนั้นฉันจะใช้เวลาสักครู่!
สำหรับวิธีแก้ปัญหาที่อยู่ในใจของฉัน! ฉันกำลังดูเซิร์ฟเวอร์ websocket ส่วนกลาง! และขุดอุโมงค์ tcp เหนือ ws!
ระบบดังกล่าวมีชื่อว่าอะไร ?
และอะไรคือวิธีที่ดีในการบรรลุเป้าหมายนั้น! คุณจะทำอย่างไรกับมัน ?
วิธีอื่นจากนั้นระบบอยู่เหนือที่ฉันค้นหา
สำหรับระบบหรือปัญหาที่คุณอาจคิดข้างต้น! เช่นเดียวกับการดีบักระยะไกลของ Android!
ใคร ๆ ก็นึกถึง:
Ssh reverse tunneling => ต้องการจุดสิ้นสุดแบบคงที่! ตัวอย่างเซิร์ฟเวอร์ในกรณีของฉัน! อินสแตนซ์เซิร์ฟเวอร์จำเป็นต้องมี ssh ทำงาน! ใน AWS ที่ต้องใช้งานบางอย่างเพื่อตั้งค่าตัวแทนการทำงาน! ไม่ตรงไปตรงมาเสมอไป!
DNS แบบไดนามิก => จำเป็นต้องมีการส่งต่อพอร์ต! อาจซับซ้อนในการตั้งค่าสำหรับบางคน! ความเสี่ยงด้านความปลอดภัยที่เป็นไปได้
ผู้ที่อาจกล่าวถึงพวกเขา! ฉันขอเพียงระบบแนวคิดที่กล่าวถึงข้างต้นเท่านั้น!
สิ่งที่ฉันพูดถึงตัวเองในแนวความคิด! น่าจะเข้ากับสิ่งของและระบบได้ง่ายที่สุด! ไม่ต้องตั้งค่าที่ซับซ้อน! เพียงกำหนดค่าเซิร์ฟเวอร์เดียว! และทั้งหมดเป็นไปอย่างราบรื่นและไดนามิกด้วยการออกแบบ! แม้ไม่มีผู้ใช้ขั้นสูง! เหมือนนักพัฒนาคนอื่นๆ ในทีมหรือองค์กรเดียวกัน! เช่นเดียวกับ teamviewer และ anydesk และระบบมากมายใช้งานได้แล้ว!