Запрос на отправку или получение данных был запрещен, поскольку сокет не подключен — при отправке данныхC#

Место общения программистов C#
Ответить
Anonymous
 Запрос на отправку или получение данных был запрещен, поскольку сокет не подключен — при отправке данных

Сообщение Anonymous »

Я пытаюсь отправить данные обратно клиенту, когда сервер получает сообщение «отладка». ATM приводит к следующей ошибке:

Запрос на отправку или получение данных был запрещен, поскольку сокет не подключен и (при отправке на сокет дейтаграммы с использованием вызова sendto) адрес не указан.

Добавлен основной класс, чтобы помочь отвечать на вопросы

static Socket newSocket;
static byte[] data;
static EndPoint tmpRemote;
static IPEndPoint sender, endpoint;
static int recv;
static void Main(string[] args)
{
data = new byte[1024];

endpoint = new IPEndPoint(IPAddress.Any, 3000);

newSocket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);

newSocket.Bind(endpoint);

sender = new IPEndPoint(IPAddress.Any, 904);
tmpRemote = (EndPoint)sender;

newSocket.BeginReceiveFrom(data, 0, data.Length, SocketFlags.None, ref tmpRemote, new AsyncCallback(OperatorCallBack), data);

Console.Read();
}

private static void OperatorCallBack(IAsyncResult ar)
{
log("[" + DateTime.Now + "][New Connection] " + tmpRemote.ToString() + "");
try
{
int size = newSocket.EndReceiveFrom(ar, ref tmpRemote);
if (size > 0)
{
data = (byte[])ar.AsyncState;
string[] dataCommand = Encoding.ASCII.GetString(data, 0, size).Split(' ');
if (dataCommand[0] == "debug")
{
newSocket.Send(Encoding.ASCII.GetBytes("HA IT WORKED :)"));
log("Sent debug");
}
else
{
log("Invalid Command");
}
}
data = new byte[1024];
newSocket.BeginReceiveFrom(data, 0, data.Length, SocketFlags.None, ref tmpRemote, new AsyncCallback(OperatorCallBack), data);
}
catch (Exception exp)
{
Console.WriteLine(exp.Message);
}
}


Подробнее здесь: https://stackoverflow.com/questions/149 ... -not-conne
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»