I have an application I've written on Windows 7 that is connecting TCP การแปล - I have an application I've written on Windows 7 that is connecting TCP ไทย วิธีการพูด

I have an application I've written

I have an application I've written on Windows 7 that is connecting TCP to a custom device. The device is sending status packets approx. every 25ms to the host. The device is also running code I've written. They are connected ethernet via a DSL router. The application is also sending data over a second TCP port to the device.

All works well until I get a duplicate ACK from the host. The orignal packet from device to host shows up in Wireshark. After the 3rd DUP ACK, the device sends a fast retransmit of the packet. The host keeps sending DUP ACKs for a total of 7. The device keeps sending it's status updates every 25ms. After about 1 sec. the device re-transmits these status packets. Meanwhile, a thread on the host has a recv() active with a 5sec. timeout. This recv eventually times out and then disconnects. During this time, the host is continuing to send data on the other port. So, the sequence shown in Wireshark seems OK, but the application times out waiting for data.

Thus, various questions that I hope someone can help me understand:

all the packets show up in the Wireshark trace, so what might cause Windows to issue the DUP ACK (Wireshark is running on the same machine)?
what might be causing the host to not receive the data (either the original or re-trans)?
if, for some reason, the receive thread on the host is locked up, would this cause these symptoms (i.e. if the receive buffers are all full, will this cause DUP ACKs? The window size from the host never drops...).
Any help would be appreciated.
0/5000
จาก: -
เป็น: -
ผลลัพธ์ (ไทย) 1: [สำเนา]
คัดลอก!
โปรแกรมประยุกต์ที่ผมได้เขียนใน Windows 7 ที่กำลังเชื่อมต่อ TCP ไปยังอุปกรณ์ที่กำหนดเองแล้ว อุปกรณ์จะส่งแพคเก็ตสถานะประมาณ 25ms ทุกไปยังโฮสต์ อุปกรณ์ยังทำงานโค้ดที่ผมได้เขียน มีการเชื่อมต่ออีเทอร์เน็ตผ่านเราเตอร์ DSL แอพลิเคชันจะยังส่งข้อมูลผ่านพอร์ต TCP ที่สองไปยังอุปกรณ์ทั้งหมดทำงานดีจนได้รับ ACK ซ้ำจากโฮสต์ แสดงค่าแพคเก็ต orignal จากอุปกรณ์การโฮสต์ใน Wireshark หลังจาก 3 ซ้ำกันของ ACK อุปกรณ์ส่งส่งคำที่รวดเร็วของแพคเก็ต โฮสต์จะส่งซ้ำกันของ ACKs จำนวน 7 อุปกรณ์จะส่งสถานะของการปรับปรุงทุก 25ms หลังจากประมาณ 1 วินาที อุปกรณ์ส่งผ่านแพ็กเก็ตเหล่านี้สถานะใหม่ ในขณะเดียวกัน ด้ายบนโฮสต์มี recv() ที่ใช้งานอยู่ ด้วยเป็นเวลา 5 วินาที Recv นี้ในที่สุดเวลาออก และเชื่อมต่อ ในช่วงเวลานี้ โฮสต์อย่างต่อเนื่องในการส่งข้อมูลบนพอร์ตอื่น ๆ ดังนั้น ลำดับที่แสดงใน Wireshark น่า ตกลง แต่ใช้หมดเวลารอข้อมูลดังนั้น คำถามต่าง ๆ ที่ฉันหวังว่าคนสามารถช่วยฉันเข้าใจ:แพ็คเก็ตทั้งหมดแสดงใน Wireshark ติดตาม เพื่อ อะไรอาจทำให้ Windows ออกซ้ำกันของ ACK (Wireshark กำลังทำงานบนเครื่องเดียวกัน)อะไรอาจเป็นสาเหตุของโฮสต์ไม่ได้รับข้อมูล (ต้นฉบับหรือ re-ทรานส์)หาก ดัง ด้ายรับบนโฮสต์ถูกล็อคค่า จะนี้ทำให้เกิดอาการเหล่านี้ (เช่นถ้าบัฟเฟอร์รับเต็มทั้งหมด จะนี้ทำซ้ำกันของ ACKs ขนาดหน้าต่างจากโฮสต์ไม่หยด...)ช่วยใดจะนิยม
การแปล กรุณารอสักครู่..
ผลลัพธ์ (ไทย) 2:[สำเนา]
คัดลอก!
ฉันได้ประยุกต์ใช้ผมเคยเขียนใน Windows 7 ที่มีการเชื่อมต่อ TCP ไปยังอุปกรณ์ที่กำหนดเอง อุปกรณ์จะส่งแพ็คเก็ตสถานะประมาณ 25ms ทุกคนที่จะเป็นเจ้าภาพ อุปกรณ์ยังทำงานรหัสผมเคยเขียน พวกเขามีการเชื่อมต่ออีเธอร์เน็ตผ่านทางเราเตอร์ DSL โปรแกรมจะยังมีการส่งข้อมูลผ่านพอร์ต TCP ที่สองไปยังอุปกรณ์. ทั้งหมดทำงานได้ดีจนได้รับ ACK ที่ซ้ำกันจากโฮสต์ แพ็คเก็ต orignal จากอุปกรณ์ไปยังโฮสต์แสดงใน Wireshark หลังจากที่ 3 ซ้ำ ACK อุปกรณ์ส่งส่งอีกครั้งอย่างรวดเร็วของแพ็กเก็ต โฮสต์ช่วยให้การส่ง ACKs ซ้ำรวมเป็น 7 อุปกรณ์ช่วยให้การส่งสถานะมันปรับปรุง 25ms ทุก หลังจากนั้นประมาณ 1 วินาที อุปกรณ์ใหม่ส่งแพ็คเก็ตสถานะเหล่านี้ ในขณะเดียวกัน, ด้ายบนโฮสต์มี recv () ที่ใช้งานกับ 5 วินาที การหยุดพักชั่วคราว recv ครั้งนี้ในที่สุดออกมาแล้วยกเลิกการเชื่อมต่อ ในช่วงเวลานี้เจ้าบ้านอย่างต่อเนื่องในการส่งข้อมูลบนพอร์ตอื่น ๆ . ดังนั้นลำดับที่แสดงใน Wireshark ดูเหมือนว่า OK แต่ครั้งใบสมัครออกมารอข้อมูลดังนั้นคำถามต่างๆที่ฉันหวังว่าคนที่สามารถช่วยให้ฉันเข้าใจ: แพ็กเก็ตทั้งหมดแสดงในร่องรอย Wireshark ดังนั้นสิ่งที่อาจทำให้ Windows ที่จะออก ซ้ำ ACK (Wireshark ทำงานอยู่ในเครื่องเดียวกัน) สิ่งที่อาจจะก่อให้เกิดการโฮสต์ที่จะไม่ได้รับข้อมูล (เช่นเดิมอีกครั้งหรือทรานส์) ถ้าด้วยเหตุผลบางอย่างได้รับด้ายบนโฮสต์ถูกล็อคขึ้นจะ สาเหตุอาการเหล่านี้ (เช่นถ้าได้รับบัฟเฟอร์ที่มีทั้งหมดเต็มรูปแบบจะทำให้เกิด ACKs DUP นี้หรือไม่? ขนาดของหน้าต่างจากโฮสต์ไม่เคยลดลง ... ). ช่วยใดจะได้รับการชื่นชม








การแปล กรุณารอสักครู่..
ผลลัพธ์ (ไทย) 3:[สำเนา]
คัดลอก!
ผมมีโปรแกรมที่ผมเขียนใน Windows 7 ที่เชื่อมต่อ TCP เพื่ออุปกรณ์ที่กำหนดเอง อุปกรณ์การส่งแพ็คเก็ตสถานะประมาณทุก 25ms ไปยังโฮสต์ เป็นอุปกรณ์ที่ยังใช้รหัสที่ผมเคยเขียนไว้ พวกเขาจะเชื่อมต่ออีเทอร์เน็ตผ่าน DSL Router โปรแกรมจะส่งข้อมูลผ่านพอร์ต TCP สองอุปกรณ์

ทั้งหมดทำงานได้ดีจนกว่าจะซ้ำอ่ะ จากเจ้าภาพแพ็คเก็ตที่ orignal จากอุปกรณ์จัดการแสดงขึ้นใน Wireshark . หลังจาก 3 ดั๊ปอ๊ะ อุปกรณ์ ส่งเร็ว retransmit ของแพ็คเก็ต เจ้าบ้านยังคงวางดั๊ป acks รวมเป็น 7 อุปกรณ์ที่ช่วยส่งมันอัปเดตสถานะทุก 25ms หลังจากนั้นประมาณ 1 วินาที อุปกรณ์จะส่งแพ็กเก็ตสถานะเหล่านี้ ขณะเดียวกัน ด้ายบนโฮสต์มีเซิร์ฟเวอร์ที่ใช้งานกับ 5sec . หมดเวลาrecv นี้ในที่สุดครั้งแล้วยกเลิกการเชื่อมต่อ ในช่วงเวลานี้ เจ้าบ้านยังคงส่งข้อมูลบนพอร์ตอื่น ๆ ดังนั้น ลำดับการแสดงใน Wireshark ดูเหมือนว่าโอเค แต่ใช้เวลารอข้อมูล

ดังนั้น คำถามต่าง ๆที่ฉันหวังว่าคนที่สามารถช่วยฉันเข้าใจ :

แพ็กเก็ตทั้งหมดที่แสดงใน Wireshark ติดตามดังนั้นสิ่งที่อาจทำให้ Windows ออกดั๊ปแอ๊ค ( Wireshark วิ่งอยู่ในเครื่องเดียวกัน )
สิ่งที่อาจจะทำให้โฮสต์ที่ไม่ได้รับข้อมูล ( ทั้งฉบับหรือเรื่อง trans )
ถ้าด้วยเหตุผลบางอย่าง รับด้ายบนโฮสต์ที่ถูกขังอยู่ จะทำให้อาการเหล่านี้ ( เช่นถ้าได้รับบัฟเฟอร์เต็มหมดแล้ว จะก่อให้เกิดดั๊ป acks ? ขนาดหน้าต่างจากโฮสต์ไม่ลด
. . . . . . . )ช่วยใดจะนิยม
การแปล กรุณารอสักครู่..
 
ภาษาอื่น ๆ
การสนับสนุนเครื่องมือแปลภาษา: กรีก, กันนาดา, กาลิเชียน, คลิงออน, คอร์สิกา, คาซัค, คาตาลัน, คินยารวันดา, คีร์กิซ, คุชราต, จอร์เจีย, จีน, จีนดั้งเดิม, ชวา, ชิเชวา, ซามัว, ซีบัวโน, ซุนดา, ซูลู, ญี่ปุ่น, ดัตช์, ตรวจหาภาษา, ตุรกี, ทมิฬ, ทาจิก, ทาทาร์, นอร์เวย์, บอสเนีย, บัลแกเรีย, บาสก์, ปัญจาป, ฝรั่งเศส, พาชตู, ฟริเชียน, ฟินแลนด์, ฟิลิปปินส์, ภาษาอินโดนีเซี, มองโกเลีย, มัลทีส, มาซีโดเนีย, มาราฐี, มาลากาซี, มาลายาลัม, มาเลย์, ม้ง, ยิดดิช, ยูเครน, รัสเซีย, ละติน, ลักเซมเบิร์ก, ลัตเวีย, ลาว, ลิทัวเนีย, สวาฮิลี, สวีเดน, สิงหล, สินธี, สเปน, สโลวัก, สโลวีเนีย, อังกฤษ, อัมฮาริก, อาร์เซอร์ไบจัน, อาร์เมเนีย, อาหรับ, อิกโบ, อิตาลี, อุยกูร์, อุสเบกิสถาน, อูรดู, ฮังการี, ฮัวซา, ฮาวาย, ฮินดี, ฮีบรู, เกลิกสกอต, เกาหลี, เขมร, เคิร์ด, เช็ก, เซอร์เบียน, เซโซโท, เดนมาร์ก, เตลูกู, เติร์กเมน, เนปาล, เบงกอล, เบลารุส, เปอร์เซีย, เมารี, เมียนมา (พม่า), เยอรมัน, เวลส์, เวียดนาม, เอสเปอแรนโต, เอสโทเนีย, เฮติครีโอล, แอฟริกา, แอลเบเนีย, โคซา, โครเอเชีย, โชนา, โซมาลี, โปรตุเกส, โปแลนด์, โยรูบา, โรมาเนีย, โอเดีย (โอริยา), ไทย, ไอซ์แลนด์, ไอร์แลนด์, การแปลภาษา.

Copyright ©2024 I Love Translation. All reserved.

E-mail: