Я подключился к ПК с помощью кабеля в попытке симулировать сервер \ клиент.Сервер начинает прослушивание в определенной конечной точке, а иногда и клиент подключается.Все прошло хорошо, и я установил максимальную скорость около 24 Мбит / с для одного соединения (порта).
Так что теперь я поменял роли и не могу установить соединение Socket.BeginConnect(ServerEndPoint, new AsyncCallback(OnConnectCallback), _ClientSocket)
раз и установил для localEndpoint значение 0.0.0.0
Вот код для клиента:
public void ConnectToServer(IPAddress iPAddress, int Port)
{
connected.Reset();
IPEndPoint ServerEndPoint = new IPEndPoint(iPAddress, Port);
try
{
_ClientSocket = new Socket(iPAddress.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
_ClientSocket.BeginConnect(ServerEndPoint, new AsyncCallback(OnConnectCallback), _ClientSocket);
connected.WaitOne();
// Here I would like to start async receiving but there's no connection
}
catch (SocketException)
{
// TODO:
}
}
private void OnConnectCallback(IAsyncResult result)
{
try
{
Socket client_StateSocket = (Socket)result.AsyncState;
client_StateSocket.EndConnect(result);
/// Here I get 0.0.0.0
connected.Set();
}
catch (SocketException)
{
// TODO:
}
}
Сервер основан на примере MSDN.Он начинает прослушивать входящие соединения, идет в постоянном цикле while
и сидит в ожидании запуска Socket.BeginAccept
(но он никогда не срабатывает).
Я подозревал, что брандмауэр, но настройки выглядят одинаково на обоих ПК, и работает нормально вобратный путь, так в чем может быть проблема?