Вот свойства и метод подключения.
protected Socket _socketConnection =
new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.IP);
private string _host = "";
private string _hostIpAddress = "";
private int _port = 0;
public void Connect()
{
// don't allow two connections
if (_socketConnection.Connected)
return;
// get the ip address from the hostname
IPHostEntry ipHostEntry = Dns.GetHostByName(_host);
_hostIpAddress = ipHostEntry.AddressList[0].ToString();
// create the socket endpoint
IPAddress ipAddress = IPAddress.Parse(_hostIpAddress);
IPEndPoint ipEndPoint = new IPEndPoint(ipAddress, _port);
// connect
try
{
_socketConnection.Connect(ipEndPoint);
if (OnConnect != null)
OnConnect();
}
catch
{
throw;
}
}
Когда я запускаю приложение под Windows 7, я получаю следующую ошибку:
Неизвестный, недействительный или неподдерживаемый параметр или уровень был указан в вызове getsockopt или setsockopt.
Я видел сообщения, в которых говорится о настройке определенной опции на сокете, но это приложение работает годами и работает только тогда, когда это приложение установлено в Windows 7.
Есть ли флаг совместимости для настройки или что-то в этом роде?
Спасибо!