คำถามติดแท็ก network-programming

การเขียนโปรแกรมที่เกี่ยวข้องกับการสร้างและจัดการเครือข่ายรวมถึงการเพิ่มการเชื่อมต่อเครือข่ายไปยังโปรแกรม (ชุดของ)

21
สร้างข้อผิดพลาดการหมดเวลาการเชื่อมต่อปลอม
ฉันมีข้อบกพร่องในซอฟต์แวร์ของเราที่เกิดขึ้นเมื่อฉันได้รับการหมดเวลาเชื่อมต่อ ข้อผิดพลาดเหล่านี้เกิดขึ้นน้อยมาก (โดยปกติเมื่อการเชื่อมต่อของฉันถูกตัดโดยเครือข่ายภายใน) ฉันจะสร้างเอฟเฟกต์แบบนี้ได้อย่างไรเพื่อให้ฉันสามารถทดสอบซอฟต์แวร์ของเราได้? หากมีความสำคัญแอปจะถูกเขียนใน C ++ / MFC โดยใช้คลาส CAsyncSocket แก้ไข: ฉันได้ลองใช้โฮสต์ที่ไม่มีอยู่จริงและฉันได้รับข้อผิดพลาดของซ็อกเก็ต: WSAEINVAL (10022) อาร์กิวเมนต์ไม่ถูกต้อง ความพยายามครั้งต่อไปของฉันคือการใช้คำแนะนำของAlexanderในการเชื่อมต่อกับพอร์ตอื่นเช่น 81 (บนเซิร์ฟเวอร์ของฉันเอง) มันใช้งานได้ดีมาก เหมือนกับการเชื่อมต่อที่หายไป (รอ 60 วินาทีจากนั้นเกิดข้อผิดพลาด) ขอบคุณ!

1
เบราว์เซอร์ใดที่รองรับ HTML5 WebSocket API
คำตอบของคำถามนี้เป็นความพยายามของชุมชน แก้ไขคำตอบที่มีอยู่เพื่อปรับปรุงโพสต์นี้ ขณะนี้ไม่ยอมรับคำตอบหรือการโต้ตอบใหม่ ฉันจะพัฒนาแอปพลิเคชันการส่งข้อความโต้ตอบแบบทันทีที่ทำงานในเบราว์เซอร์ เบราว์เซอร์อะไรสนับสนุนWebSocket API ?

11
วิธีที่แนะนำในการรับชื่อโฮสต์ใน Java
ข้อใดต่อไปนี้เป็นวิธีที่ดีที่สุดและพกพาได้มากที่สุดในการรับชื่อโฮสต์ของคอมพิวเตอร์ปัจจุบันใน Java Runtime.getRuntime().exec("hostname") VS InetAddress.getLocalHost().getHostName()

7
ความแตกต่างระหว่าง read () และ recv () และระหว่าง send () และ write () คืออะไร
อะไรคือความแตกต่างระหว่างread()และและrecv()และระหว่างsend()และwrite()ในการเขียนโปรแกรมซ็อกเก็ตในแง่ของการแสดงความเร็วและพฤติกรรมอื่น ๆ ?


6
TeamViewer รวดเร็วแค่ไหน
ขออภัยเกี่ยวกับความยาว บทนำ ฉันกำลังพัฒนาซอฟต์แวร์เดสก์ท็อประยะไกล (เพื่อความสนุกสนาน) ใน C # 4.0 สำหรับ Windows Vista / 7 ฉันเคยผ่านอุปสรรคพื้นฐาน: ฉันมีระบบส่งข้อความ UDP ที่มีประสิทธิภาพ, การออกแบบโปรแกรมที่ค่อนข้างสะอาด, ฉันมีไดรเวอร์กระจก (ไดรเวอร์กระจก DFMirage ฟรีจาก DemoForge) เปิดใช้งานและฉันใช้ NAT traversal สำหรับทุกคน ประเภท NAT ยกเว้น Symmetric NATs (แสดงในสถานการณ์ไฟร์วอลล์ขององค์กร) เกี่ยวกับการถ่ายโอน / แชร์หน้าจอต้องขอบคุณไดรเวอร์กระจกฉันได้รับแจ้งโดยอัตโนมัติเกี่ยวกับขอบเขตของหน้าจอที่เปลี่ยนแปลงและฉันสามารถรวบรวมบิตแมปหน้าจอที่เปลี่ยนแปลงตลอดเวลาของไดร์เวอร์มิเรอร์เป็นบิตแมปของฉันเอง จากนั้นฉันบีบอัดพื้นที่หน้าจอเป็น PNG และส่งออกจากเซิร์ฟเวอร์ไปยังไคลเอนต์ของฉัน สิ่งต่าง ๆ ดูดี แต่ไม่เร็วพอ มันช้าเท่ากับ VNC (btw ฉันไม่ได้ใช้โปรโตคอล VNC เป็นโปรโตคอลสมัครเล่นที่กำหนดเอง) จากซอฟต์แวร์เดสก์ท็อประยะไกลที่ช้าที่สุดไปจนถึงเร็วที่สุดรายการมักจะเริ่มต้นในทุกการใช้งานแบบ …

7
Netty กับ Apache MINA
พวกเขาทั้งสองให้ฟังก์ชั่นเดียวกันประมาณ ฉันควรเลือกเซิร์ฟเวอร์ตัวใดเพื่อพัฒนาเซิร์ฟเวอร์ TCP ที่มีประสิทธิภาพสูง ข้อดีข้อเสียคืออะไร ลิงค์อ้างอิง: Apache MINA ( แหล่งที่มา ) Netty ( แหล่งที่มา )

11
ความแตกต่างระหว่าง TCP และ UDP หรือไม่
ความแตกต่างระหว่าง TCP และ UDP คืออะไร ฉันรู้ว่า TCP ถูกใช้ในกรณีของแอพพลิเคชั่นที่ไม่เกี่ยวกับเวลาและ UDP ใช้สำหรับเกมหรือแอพพลิเคชั่นที่ต้องการการส่งข้อมูลที่รวดเร็ว ฉันรู้ว่า TCP ใช้สำหรับ HTTP, HTTPs, FTP, SMTP และ Telnet ฉันรู้ว่า UDP นั้นใช้สำหรับ DNS และ DHCP แต่ทำไม คุณลักษณะใดของ TCP และ UDP ที่ทำให้มีประโยชน์สำหรับกรณีการใช้งานตามลำดับ?


5
การเปรียบเทียบ HTTP และ FTP สำหรับการถ่ายโอนไฟล์
ข้อดี (หรือข้อ จำกัด ) ของอีกข้อหนึ่งสำหรับการถ่ายโอนไฟล์ทางอินเทอร์เน็ตคืออะไร? (ฉันทราบถึงรูปแบบที่ปลอดภัยของโปรโตคอลทั้งสองฉันต้องการฟังการเปรียบเทียบผ่านประสบการณ์ส่วนตัวในแง่ของประสิทธิภาพความน่าเชื่อถือข้อ จำกัด ขนาดไฟล์เป็นต้น)

5
TCP: สองซ็อกเก็ตที่แตกต่างกันสามารถแบ่งปันพอร์ตได้หรือไม่?
นี่อาจเป็นคำถามพื้นฐาน แต่มันทำให้ฉันสับสน สองซ็อกเก็ตที่เชื่อมต่อที่แตกต่างกันสามารถใช้พอร์ตร่วมกันได้หรือไม่? ฉันกำลังเขียนแอปพลิเคชันเซิร์ฟเวอร์ที่น่าจะรองรับการเชื่อมต่อพร้อมกันได้มากกว่า 100k และเรารู้ว่าจำนวนพอร์ตที่มีอยู่ในระบบอยู่ที่ประมาณ 60k (16 บิต) ซ็อกเก็ตที่เชื่อมต่อถูกกำหนดให้กับพอร์ตใหม่ (เฉพาะ) ดังนั้นจึงหมายความว่าจำนวนการเชื่อมต่อพร้อมกันจะถูก จำกัด โดยจำนวนพอร์ตเว้นแต่ซ็อกเก็ตหลายตัวสามารถใช้พอร์ตเดียวกันร่วมกันได้ ดังนั้นคำถาม ขอบคุณสำหรับความช่วยเหลือล่วงหน้า!

6
ซ็อกเก็ตเชื่อมต่อ () กับผูก ()
ทั้งสองconnect()และbind()ระบบเรียก 'เชื่อมโยง' ตัวอธิบายไฟล์ซ็อกเก็ตไปยังที่อยู่ (โดยทั่วไปคือการรวมกันของ ip / พอร์ต) ต้นแบบของพวกเขามีดังนี้: - int connect(int sockfd, const struct sockaddr *addr, socklen_t addrlen); และ int bind(int sockfd, const struct sockaddr *addr, socklen_t addrlen); 2 สายต่างกันอย่างไร? ควรใช้connect()เมื่อใดและเมื่อbind()ใด โดยเฉพาะในโค้ดไคลเอ็นต์เซิร์ฟเวอร์ตัวอย่างบางตัวพบว่าไคลเอ็นต์กำลังใช้งานconnect()และเซิร์ฟเวอร์กำลังใช้การbind()โทร เหตุผลไม่ชัดเจนสำหรับฉัน


8
เว็บเซิร์ฟเวอร์สามารถรองรับการเชื่อมต่อซ็อกเก็ตได้กี่ช่อง
สมมติว่าฉันต้องการแชร์โฮสติ้งเสมือนหรือเฉพาะฉันอ่านที่ไหนสักแห่งที่เซิร์ฟเวอร์ / เครื่องสามารถรองรับการเชื่อมต่อ TCP 64,000 รายการในครั้งเดียวได้หรือไม่ โฮสติ้งประเภทใดที่สามารถจัดการได้โดยไม่คำนึงถึงแบนด์วิดท์ ฉันสมมติว่า HTTP ทำงานผ่าน TCP นี่หมายความว่ามีผู้ใช้ 64,000 คนเท่านั้นที่สามารถเชื่อมต่อกับเว็บไซต์ได้และถ้าฉันต้องการให้บริการมากขึ้นฉันต้องย้ายไปที่เว็บฟาร์มหรือไม่

5
การใช้ startBackgroundTaskWithExpirationHandler อย่างเหมาะสม
beginBackgroundTaskWithExpirationHandlerฉันบิตสับสนเกี่ยวกับวิธีการและเมื่อใช้ Apple แสดงให้เห็นในตัวอย่างเพื่อใช้ในการapplicationDidEnterBackgroundมอบหมายเพื่อให้มีเวลามากขึ้นในการทำงานที่สำคัญบางอย่างโดยปกติจะเป็นธุรกรรมเครือข่าย เมื่อดูในแอปของฉันดูเหมือนว่าสิ่งต่างๆในเครือข่ายส่วนใหญ่ของฉันมีความสำคัญและเมื่อมีการเริ่มต้นฉันต้องการดำเนินการให้เสร็จสิ้นหากผู้ใช้กดปุ่มโฮม ดังนั้นจึงเป็นที่ยอมรับ / แนวทางปฏิบัติที่ดีในการรวมทุกธุรกรรมเครือข่าย (และฉันไม่ได้พูดถึงการดาวน์โหลดข้อมูลจำนวนมากส่วนใหญ่เป็น xml สั้น ๆ ) beginBackgroundTaskWithExpirationHandlerเพื่อให้ปลอดภัย

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