TCP套接字拒绝连接错误#10061

大卫

我正在创建一个小型聊天(1-1)应用程序以学习网络编程,并且在使用TCP协议创建套接字时,Socket.Connect()始终返回错误10061。但是,如果我将套接字设为UDP,则不会看到问题。

这是我的代码:

myEndPoint = new IPEndPoint(IPAddress.Parse(_txtMyIPAdress.Text), int.Parse(_txtMyPort.Text));
TargetSideEndPoint = new IPEndPoint(IPAddress.Parse(_txtTargetIPAddress.Text), int.Parse(_txtTargetPort.Text));
mySocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
mySocket.Bind(myEndPoint);
mySocket.Connect(TargetSideEndPoint);
byte[] receivedBuffer = new byte[MAX_BUFFER_SIZE = 1024];
ReceivePackets(mySocket, receivedBuffer);//My function

谁能帮我?更新:我没有使用Listen()的问题是当我调用Connect()时,我已经尝试了具有相同问题的多个端口,并且我目前正在通过在我的应用程序中打开2个实例并在使用2个不同端口的同时在一台PC上进行测试防火墙关闭。

谢谢,

米海·卡拉科斯泰(Mihai Caracostea)

对于TCP(这是一种面向连接的协议),您将需要服务器和客户端。

服务器必须侦听传入的连接,而客户端应启动连接。然后,客户端将能够与服务器通信并交换数据。

这是一个简单的工作示例:

void Main()
{
    Console.WriteLine("Starting listener thread");
    Thread serverThread = new Thread(ListenerThreadProc);
    serverThread.Start();

    Console.WriteLine("Waiting 500 milliseconds to allow listener to start");
    Thread.Sleep(500);

    Console.WriteLine("Client: Connecting to server");
    TcpClient client = new TcpClient();
    client.Connect(IPAddress.Loopback, 12345);
    Console.WriteLine("Client: Connected to server");

    byte[] buffer = new byte[5];
    Console.WriteLine("Client: Receiving data");
    using (NetworkStream clientStream = client.GetStream())
        clientStream.Read(buffer, 0, buffer.Length);

    Console.WriteLine("Client: Received data: " + buffer.Aggregate("", (s, b) => s += " " + b.ToString()));     
}

void ListenerThreadProc()
{   
    TcpListener listener = new TcpListener(IPAddress.Any, 12345);
    listener.Start();
    Console.WriteLine("Server: Listener started");

    Console.WriteLine("Server: Waiting for client to connect");
    TcpClient client = listener.AcceptTcpClient();
    Console.WriteLine("Server: Client connected");

    listener.Stop();    
    Console.WriteLine("Server: Listener stopped");

    Console.WriteLine("Server: Sending data");
    byte[] buffer = new byte[] { 1, 2, 3, 4, 5 };   
    using (NetworkStream clientStream = client.GetStream())
        clientStream.Write(buffer, 0, buffer.Length);
    Console.WriteLine("Server: Sent data");
}

在这个示例中,它变得非常简单,您有一个服务器接受单个客户端,并向该客户端发送一些数据。客户端连接,读取数据然后显示。

现实生活中的服务器会在客户端连接并继续侦听新连接后立即旋转新线程(或异步模型的任务)来满足客户端的请求。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Python SimpleXMLRPCServer:套接字错误,连接被拒绝

来自分类Dev

c本地主机拒绝TCP套接字连接

来自分类Dev

套接字TCP连接

来自分类Dev

Java套接字编程中的连接拒绝错误

来自分类Dev

android设备上的套接字连接拒绝错误

来自分类Dev

Java套接字编程中的连接拒绝错误

来自分类Dev

套接字错误:[Errno 111]在Ubuntu上拒绝连接

来自分类Dev

UNIX套接字连接被拒绝

来自分类Dev

python套接字拒绝连接

来自分类Dev

Powerpivot 连接 db2:发生 TCPIP 套接字错误 (10061)

来自分类Dev

异常:connect:尝试连接到Haskell中的TCP套接字时不存在(连接被拒绝)

来自分类Dev

PHP套接字连接-Telnet拒绝连接

来自分类Dev

Android TCP套接字错误

来自分类Dev

vnc查看器错误:无法连接到套接字:连接被拒绝(111)

来自分类Dev

Vnc 查看器错误:无法连接到套接字:CentOS 8 中的连接被拒绝 (111)

来自分类Dev

客户端套接字连接被拒绝

来自分类Dev

DataSnap服务器套接字错误10061

来自分类Dev

MySQL 5.6.25套接字错误10061

来自分类Dev

套接字编程连接错误

来自分类Dev

Qt TCP / IP套接字连接检查

来自分类Dev

防止重试TCP套接字连接

来自分类Dev

iOS:在套接字中读写(TCP连接)

来自分类Dev

TCP套接字上的长连接

来自分类Dev

Mikrotik TCP/IP 套接字连接

来自分类Dev

Selenium 的 htmlunit webdriver 导致错误 10061,连接被主动拒绝

来自分类Dev

OpenSSL:套接字:连接被拒绝连接:errno = 111

来自分类Dev

Android套接字连接被拒绝ETIMEDOUT(连接超时)

来自分类Dev

windows tcp 套接字错误 10045

来自分类Dev

IPTables:与MySQL的连接被拒绝(10061)