Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/18: Рейтинг темы: голосов - 18, средняя оценка - 4.50
1 / 1 / 0
Регистрация: 23.02.2011
Сообщений: 69
1

Как корректно закрыть соединение TCP на стороне клиента

30.05.2012, 16:11. Показов 3447. Ответов 4
Метки нет (Все метки)

Код следующий:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
TcpClient client = new TcpClient(server, port);
 
            Byte[] data ;
 
            // Get a client stream for reading and writing.
            //  Stream stream = client.GetStream();
 
            NetworkStream stream = client.GetStream();
 
            data = new Byte[1024];
 
            // String to store the response ASCII representation.
            String responseData = String.Empty;
 
            // Read the first batch of the TcpServer response bytes.
            Int32 bytes = stream.Read(data, 0, data.Length);
            for (int i = 0; i < data.Length; i = i + 2)
                Console.WriteLine("{0:X}{1:X}",data[i],data[i+1]);
 
            // Close everything.
            stream.Close();
            client.Close();
Как корректно закрыть соединение TCP на стороне клиента ? После строк
C#
1
 client.Close();
сервер продолжает находится в состоянии подключения.

В снифере wireshark я также вижу только ASK от клиента при закрытие, FIN не посылается.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.05.2012, 16:11
Ответы с готовыми решениями:

Как установить шрифт сайта на стороне клиента ?
Например я создаю сайт с текстом шрифтом &quot;Шрифт7&quot;. Знаю как можно установить, чтобы при запуске на...

Сцена зависает при запуске TCP-клиента, когда он подключен к TCP - серверу, при этом TCP-клиент полностью функционирует
Проблема описана в заголовке, и хотелось бы услышать ваше мнение, о том как можно решить проблему....

Как корректно закрыть программу
Доброго времени суток! У меня такая проблема: запускаю программу, открываю кнопкой вторую форму,...

Как корректно считать вектор boost::asio::streambuf на стороне клиента
Доброго времени суток! Назрел вопрос: Пишу в сокет с помощью boost::asio::buffer...

__________________

Записывайтесь на профессиональные курсы С#-разработчиков‌
4
185 / 185 / 53
Регистрация: 10.04.2009
Сообщений: 491
30.05.2012, 16:50 2
C#
1
2
3
4
using (TcpClient client = new TcpClient(server, port))
{
 
}
после блока само закроется
0
1 / 1 / 0
Регистрация: 23.02.2011
Сообщений: 69
30.05.2012, 16:55  [ТС] 3
ничего не изменилось
по прежнему только ack, FIN нету.
IP 50 клиент
IP 100 сервер
0
Миниатюры
Как корректно закрыть соединение TCP на стороне клиента  
185 / 185 / 53
Регистрация: 10.04.2009
Сообщений: 491
30.05.2012, 17:00 4
http://blogs.msdn.com/b/jmanni... 25699.aspx
0
1 / 1 / 0
Регистрация: 23.02.2011
Сообщений: 69
31.05.2012, 16:34  [ТС] 5
засомневался, может дело в winXP или в моей конф компа.
Запустил Putty и telnet , то и другое передает при закрытии FIN frame
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
31.05.2012, 16:34

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Закрыть соединение со стороны клиента
Как в boost::asio закрыть соединение со стороны клиента?

Аккуратно закрыть соединение TCP (shutdown)
Пишу серверное приложение. Когда клиент отправляет файл, он открывается и читается, пока сервер...

Как проверить есть ли файл на стороне клиента?
Вообщем есть такой плагин для просмотра 3д моделей cult3d, по нему не так много инфы, но нужно...

Как определить дату и время на стороне клиента
Коллеги, добрый день! Необходимо сформировать идентификатор состоящий из даты (ГГГГММДД) и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.