G
Guest
OK, so I have a TcpListener that is waiting for sockets, this piece of code:
IPAddress localAddress = Dns.GetHostByName(Dns.GetHostName()).AddressList[0];
IPEndPoint localEP = new IPEndPoint(localAddress, 9000);
TcpListener tcpListen = new TcpListener(localEP);
tcpListen.Start();
Socket skt = tcpListen.AcceptSocket();
.... do some socket stuff
skt.Close();
does not accept sockets from a none .net client, infact instead of the
client: AYN
server: ACK/AYN
client: ACK
all you get is
client: SYN
server: ACK
with no SYN, which irritating as the socket is never registered as accepted,
so does not appear in the .Net code, but if I use an obsolete version of the
TcpListener constructor I get a valid connection, e.g
TcpListener tcpListen = new TcpListener(9000);
tcpListen.Start();
Socket skt = tcpListen.AcceptSocket();
.... do some socket stuff
skt.Close();
Why is it that the obsolete version seems to work, but the newer version
won’t? Am I missing something, or is .Net just being a bit strange?
IPAddress localAddress = Dns.GetHostByName(Dns.GetHostName()).AddressList[0];
IPEndPoint localEP = new IPEndPoint(localAddress, 9000);
TcpListener tcpListen = new TcpListener(localEP);
tcpListen.Start();
Socket skt = tcpListen.AcceptSocket();
.... do some socket stuff
skt.Close();
does not accept sockets from a none .net client, infact instead of the
client: AYN
server: ACK/AYN
client: ACK
all you get is
client: SYN
server: ACK
with no SYN, which irritating as the socket is never registered as accepted,
so does not appear in the .Net code, but if I use an obsolete version of the
TcpListener constructor I get a valid connection, e.g
TcpListener tcpListen = new TcpListener(9000);
tcpListen.Start();
Socket skt = tcpListen.AcceptSocket();
.... do some socket stuff
skt.Close();
Why is it that the obsolete version seems to work, but the newer version
won’t? Am I missing something, or is .Net just being a bit strange?