无法在windows7 64bit中连接套接字

嘿。我一直在寻找解决这个问题的方法,没有运气。我想知道在将套接字代码从WinXP 32位切换到Win7 64位时这是否是一个已知问题。我有一个相当简单的套接字例程,在WinXP 32bit中工作正常,但是socket.connect调用抛出异常“无法建立连接,因为目标机器主动拒绝它127.0.0.1:48000” 我已经为程序的win7防火墙添加了一个例外,并检查了双倍以确保它添加的规则允许所有端口。 我用来设置这些简单套接字的代码如下: 听力插座:
byte[] bytes = new Byte[8192];
IPHostEntry ipHostInfo = Dns.GetHostEntry("localhost");
IPAddress ipAddress = ipHostInfo.AddressList[0];
IPEndPoint localEndPoint = new IPEndPoint(ipAddress, 48000);

_ListenerSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);

try
{
    _ListenerSocket.Bind(localEndPoint);
    _ListenerSocket.Listen(1000);

    while (_Running)
    {
        _ListenerSync.Reset();
        _ListenerSocket.BeginAccept(new AsyncCallback(AcceptCallback), _ListenerSocket);
        _ListenerSync.WaitOne();
    }

    _ListenerSocket.Shutdown(SocketShutdown.Both);
    _ListenerSocket.Close();
}
连接插座:
IPAddress _IP;
IPAddress.TryParse("127.0.0.1", out _IP)
Socket tTarget = null;

if (tTarget == null)
{
    tTarget = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
}

tTarget.Connect(_IP, 48000);
_Connected = true;
byte[] tBuffer = new byte[8192];
string tRecvBuff = "";

while (_Connected)
{
    int tRecv = tTarget.Receive(tBuffer);
    //{ does stuff here }
}
似乎一切正常,直到tTarget.Connect(),它暂停一秒,然后抛出上面列出的异常。从不调用AcceptCallback。 谢谢。     
已邀请:
根据您的评论,您将收听IPV6。代替
ipHostInfo.AddressList[0]
尝试
ipHostInfo.AddressList.ToList().Find(p=>p.AddressFamily==AddressFamily.InterNetw‌​ork);
    

要回复问题请先登录注册