Я работаю с сокетами в C # и получаю следующую ошибку:
Запрос на отправку или получение данных был отклонен, поскольку сокет не подключен и (при отправке насокет датаграммы с использованием вызова sendto) адрес не был указан
Вот код, который я выполняю:
private void HostSubscriberService()
{
IPAddress ipV4 = PublisherService.ReturnMachineIP();
var localEP = new IPEndPoint(ipV4, _port);
var server = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
server.Bind(localEP);
StartListening(server);
}
private void StartListening(Socket server)
{
EndPoint remoteEP = new IPEndPoint(IPAddress.Any, 0);
while (true)
{
var data = new byte[1024];
int recv = server.ReceiveFrom(data, ref remoteEP);
string messageSendFromClient = Encoding.ASCII.GetString(data, 0, recv);
MessageBox.Show(messageSendFromClient);
}
}
Произошла ошибка @ int recv = server.ReceiveFrom(data, ref remoteEP);
Мне просто нужно прослушать новые входящие соединения, а затем распечатать сообщение, отправленное с нового клиента.
Мне нужно, чтобы оно работало по протоколу TCP, поскольку некоторые сообщения будут иметь размер> 1500 байт.
Спасибо!