Tôi đang viết máy chủ và máy khách TCP tùy chỉnh và thực hiện một tấn yêu cầu (chính xác là 60.000) Tôi bắt đầu gặp lỗi socket này là 10048, trong đó should mean "địa chỉ đã được sử dụng".Lỗi socket 10048 trên máy khách? Nguyên nhân có thể?
Lỗi xảy ra trừ khi tôi tạm dừng quá trình trong 2 hoặc 3 phút và sau đó bắt đầu lại, sau đó bắt đầu phát ra lỗi tương tự trong một thời gian ngắn sau khi khởi động lại. Nếu tôi tạm dừng quá trình khách hàng và khởi động lại quá trình máy chủ, tôi vẫn nhận được lỗi tương tự trên máy khách. Vì vậy, nó là một vấn đề phía khách hàng hoàn chỉnh.
Điều này không có ý nghĩa mặc dù, lỗi này thường chỉ xảy ra khi ràng buộc và lỗi này xảy ra trên máy khách chứ không phải máy chủ. Điều gì có thể là lý do có thể cho nó?
Một trích đoạn nhỏ khởi tạo của tôi:
TcpClient client = new TcpClient();
client.Connect("XXXXX -- some ip", 25000);
client.NoDelay = true;
NetworkStream clientStream = client.GetStream();
Ngoài ra, mọi thứ khác dường như được làm việc tốt (bao gồm cả số lượng thời gian cần thiết để gửi qua lại) và các công trình này một cách hoàn hảo khi sử dụng 127.0.0.1
nhưng khi đặt nó trên một máy tính LAN khác, tôi bắt đầu nhận được lỗi 10048.
Có điều gì sai với cách tôi khởi chạy không? Điều gì khác có thể gây ra lỗi này ở phía khách hàng?
tôi đã thêm 'client.LingerState = LingerOption mới (false, 0); 'và sử dụng netstat, phải không bạn, tôi có một tải tào lao của các kết nối trong TIME_WAIT – Earlz
Ý tôi là, tôi vẫn còn nhiều TIME_WAIT sau khi thêm 'LingerState' bit – Earlz
ReuseAddr cũng không hữu ích. – Earlz