Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.226.185.103] |
|
Сообщ.
#1
,
|
|
|
Добрый день! Вот такая беда. В сетевом программировании не долго, по этому требуется Ваша помощь!
Сервер: TcpListener server = new TcpListener(“192.168.1.1”, 1300); server.Start(); Byte[] bytes = new Byte[255]; Object message = null; Int32 i; while (true) { Socket socket = server.AcceptSocket(); if(socket.Connected) { //connected } socket.Close() } Клиент: TcpClient client = new TcpClient(“192.168.1.1”, 1300) { NetworkStream stream = client.GetStream(); Byte[] data = System.Text.Encoding.GetEncoding(1251).GetBytes(“Test”); stream.Write(data, 0, data.Length); } client.Close(); Выкидывает ошибку: Unable to read data from the transport connection: Удаленный хост принудительно разорвал существующее подключение В чем дело, из - за чего такая фигня не пойму. Прошу у Вас помощи Спасибо С Уважением Александр. |
Сообщ.
#2
,
|
|
|
Заключи код метода и код вызова в try catch и попробуй отловить ошибку, а вообще такая штука может возникать по разным причинам. Например из-за файрвола.
|
Сообщ.
#3
,
|
|
|
juice
Заключи код метода и код вызова в try catch Так я вообщем то так и сделал. |
Сообщ.
#4
,
|
|
|
Имелось ввиду, код на сервере и код на клиенте
Добавлено Вот пример клиента из МСДН http://msdn2.microsoft.com/en-us/library/system.net.sockets.tcpclient.aspx Вот пример сервера от туда же http://msdn2.microsoft.com/en-us/library/system.net.sockets.tcplistener.aspx Проверил пример рабочий. |
Сообщ.
#5
,
|
|
|
RDAlex, ты как разобрался? а то у меня такая же фигня, После одного-двух переданных сообщений выскакивает эта ошибка...
|
Сообщ.
#6
,
|
|
|
KIR, привет немного изменил сервер и усе, стало работать.
//Сервер public void server() { try { IPAddress[] ips = Dns.GetHostAddresses(Dns.GetHostName()); TcpListener server = new TcpListener(ips[0], 1300); server.Start(); Byte[] data = new Byte[255]; Object message = null; Int32 i; while (true) { using (Socket socket = server.AcceptSocket()) { message = null; NetworkStream stream = new NetworkStream(socket); i = stream.Read(data, 0, data.Length); message = Encoding.GetEncoding(1251).GetString(data, 0, i); MessageBox.Show(message.ToString()); } } } catch (Exception ex) { MessageBox.Show(ex.Message); } } //Клиент public void client() { Byte[] _messages = System.Text.Encoding.GetEncoding(1251).GetBytes("привет"); try { using (TcpClient client = new TcpClient(hostName, 1300)) { NetworkStream stream = client.GetStream(); stream.Write(_messages, 0, _messages.Length); } } catch (Exception ex) { MessageBox.Show(ex.Message); } } |