Почему некоторые компьютеры смотрят на флаг PSH, а некоторые нет?

612
TimVK

При переполнении стека я задал вопрос о программировании вокруг TCP и чтении содержимого потока TCP, и теперь я только нашел решение этого. А именно флаг PSH заголовков TCP, который должен быть установлен на самом деле. Но сейчас это не установлено.
Теперь мой вопрос по этому поводу: почему некоторые ПК имеют высокую скорость TCP с устройствами, у которых не установлен флаг PSH, а некоторые ПК работают медленно? ПК, на которых мы заметили различия, это все Windows 7 (32- и 64-битные), поэтому, насколько я вижу, это не может быть связано с ОС. Может кто-нибудь объяснить мне больше об этой проблеме?

1

1 ответ на вопрос

1
RedGrittyBrick

The push flag decreases your throughput efficiency to reduce latency a little. It is used to signal that no more data is to follow so buffers can be flushed and data forwarded to the other end's app without waiting for more data. The use of the PSH flag is determined by the data communications protocol (not by device, OS, or end-user configuration)

See this article


The reasons why one PC is faster than another are legion. I expect you'd have to test carefully and provide more details to get useful help on this.

Какие вещи я могу проверить, чтобы определить, в чем проблема? И какие детали полезны для помощи? Я думал о драйверах и / или оборудовании, которое обрабатывает эти сообщения по-разному? TimVK 12 лет назад 0
@TimVK: Я ожидаю, что обработка флага TCP PSH будет происходить в коде стека TCP / IP ОС, а не в драйверах устройств Ethernet и не в аппаратном обеспечении. Этот блок комментариев слишком мал, чтобы ответить на ваши последующие вопросы. RedGrittyBrick 12 лет назад 0
На самом деле вы правы в отношении обработки флагов TCP. Это было только первое, о чем я подумал, не подумав дважды. TimVK 12 лет назад 0