Điểm:1

Các gói TCP được chia thành ACK và PSH, ACK trong Docker

lá cờ es

Tôi đang làm việc trên Máy chủ trò chơi chủ yếu dựa trên TCP và vừa thử chạy nó trong bộ chứa Docker. Tuy nhiên, tôi quan sát thấy rằng khi truy cập Máy chủ trong một vùng chứa (thông qua Máy khách trò chơi), các gói cho mọi SeqNo được chia thành hai phần. Phần đầu tiên là một TCP-ACK trống (không tải trọng), phần thứ hai là một TCP,PSH-ACK chứa đầy đủ tải trọng. Vì mẫu này áp dụng cho tất cả các gói được gửi từ hoặc đến máy chủ, rõ ràng là chúng thuộc về nhau.

Tại sao điều này lại xảy ra và hơn nữa, tại sao điều này chỉ xảy ra khi Máy chủ chạy trong vùng chứa Docker?

mforsetti avatar
lá cờ tz
Điều này có trả lời câu hỏi của bạn không? [\[PSH, ACK\] đang làm gì trong khi tôi kết nối với máy chủ danh mục toàn cầu?](https://serverfault.com/questions/614590/what-is-psh-ack-doing-during-my-connection- to-a-global-catalog-server)
Michael Hampton avatar
lá cờ cz
Bạn có thể hiển thị một gói chụp?
elsamuray7 avatar
lá cờ es
Tôi mới nhận ra rằng vấn đề không phải là 2 gói TCP cho mỗi gói logic được gửi mà là máy chủ của tôi hiểu nó là 2 gói trong vùng chứa Docker, trong khi nó hiểu nó là 1 gói ở mọi nơi khác. Bây giờ tôi chắc chắn liệu đây có phải là vấn đề của ngôn ngữ lập trình hay không (tức là việc triển khai socket, tôi đang sử dụng Java) hay vấn đề nằm ở cấp độ HĐH. Bất kỳ ý tưởng?
Điểm:1
lá cờ us

Tôi không chắc bạn đang chạy máy chủ trò chơi của mình bên trong Docker như thế nào nhưng docker đang hoạt động theo cách bạn đã làm theo

Máy chủ - Mạng Docker - Mạng Docker Swarm - Mạng xâm nhập (Swarm) Docker Service - Overlay network (Dịch vụ container)

Trong trường hợp này, bạn có lớp mạng khác trong Docker để làm việc và tất cả bên trong Docker đều là mạng ảo.

Bước tiếp theo bạn cần hiểu về Docker nếu bạn đang làm việc ở chế độ Swarm, đó là khi bạn nhấn Docker Swarm, nó trỏ nó dựa trên số cổng tới các dịch vụ vùng chứa của bạn, nếu bạn đang chạy nhiều hơn thì 1 bản sao trong Swarm của bạn thì 2 yêu cầu đều được. , có thể không truy cập cùng một máy chủ hai lần.

Vì vậy, vấn đề bạn hỏi tôi nghĩ nó liên quan đến cách thức hoạt động của mạng nội bộ trong Docker, bạn có thể đọc thêm về cách mạng trong Docker hoạt động và có thể đây chỉ là một cài đặt để bạn thay đổi, vd. chủ nhà

Trình điều khiển mạng Docker: https://docs.docker.com/network/#network-drivers

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.