gpt4 book ai didi

c# - 无法从远程机器连接

转载 作者:太空狗 更新时间:2023-10-29 18:07:57 24 4
gpt4 key购买 nike

我遇到了一些问题,我无法在家里检查它是否有效。这是代码

using System;
using System.Net;
using System.Net.Sockets;
using System.Threading;
using System.IO;
using System.Net.Security;

class Program
{
private static IPAddress ipAddress = IPAddress.Parse("127.0.0.1");
private static int port = 6000;
private static string data = null;

static void Main(string[] args)
{
Thread thread = new Thread(new ThreadStart(receiveThread));
thread.Start();
Console.ReadKey();
}

public static void receiveThread()
{
while (true)
{
TcpListener tcpListener = new TcpListener(ipAddress, port);
tcpListener.Start();

Console.WriteLine("Waiting for connection...");

TcpClient tcpClient = tcpListener.AcceptTcpClient();

Console.WriteLine("Connected with {0}", tcpClient.Client.RemoteEndPoint);

while (!(tcpClient.Client.Poll(20, SelectMode.SelectRead)))
{
NetworkStream networkStream = tcpClient.GetStream();
StreamReader streamReader = new StreamReader(networkStream);

data = streamReader.ReadLine();

if(data != null)
Console.WriteLine("Received message: {0}", data);
}
Console.WriteLine("Dissconnected...\n");
tcpListener.Stop();
}
}
}

我也有一个简单的程序来连接到它,然后发送一个带有数据的字符串。它在本地主机上运行良好,但当我尝试连接另一台计算机时出现问题。

我什至关闭了 PC 和路由器上的防火墙,就像我在 friend 的笔记本电脑上所做的那样。每次我尝试连接时,他的计算机都拒绝连接。也许我做错了什么?

当然,ipAddress 现在是一个本地地址,因为它目前只使用该地址。有什么建议吗?

最佳答案

您需要将其设置为接受来自任何 IP 的连接,为此有一个 IPAddress 重载函数:

System.Net.IPAddress.Any

使用它代替 127.0.0.1,它将解决您的问题。

关于c# - 无法从远程机器连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1831744/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com