C# 客户端-服务器连接无法通过internet工作
我正在尝试使用标准的TcpListener/TcpClient类创建自己的简单客户机-服务器应用程序。首先,我必须说我是网络编程的初学者。所以,我制作了它,但它只在本地工作(两台计算机都在同一个网络中,我使用ipconfig中的ipv4地址(是本地的吗?)创建TcpListener,并使用相同的地址从TcpClient的客户端应用程序连接 我如何才能使用我的实际IP地址(由提供商提供,由tismyip.com向我展示)?我应该在服务器上使用127.0.0.1,在客户端使用我的外部IP吗C# 客户端-服务器连接无法通过internet工作,c#,client-server,tcplistener,C#,Client Server,Tcplistener,我正在尝试使用标准的TcpListener/TcpClient类创建自己的简单客户机-服务器应用程序。首先,我必须说我是网络编程的初学者。所以,我制作了它,但它只在本地工作(两台计算机都在同一个网络中,我使用ipconfig中的ipv4地址(是本地的吗?)创建TcpListener,并使用相同的地址从TcpClient的客户端应用程序连接 我如何才能使用我的实际IP地址(由提供商提供,由tismyip.com向我展示)?我应该在服务器上使用127.0.0.1,在客户端使用我的外部IP吗 感谢您的
感谢您的耐心。好的,您需要做两件事,首先您需要您的服务器允许从任何ip连接。其次您需要您的客户端连接到您的服务器的ip和端口。不要忘记将您用于服务器的端口向前移植! 首先是服务器
private static Socket serverSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
void init()
{
serverSocket.Bind(new IPEndPoint(IPAddress.Any, PORTHERE));
serverSocket.Listen(1);
serverSocket.BeginAccept(new AsyncCallback(CallBack), null);
}
然后你需要在客户端连接到它
private Socket clientSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
void init()
{
while (!clientSocket.Connected)
{
try
{
IPAddress ipAd = IPAddress.Parse(IPHERE);
clientSocket.Connect(ipAd, PORTHERE);
}
catch (SocketException e)
{
Console.WriteLine(e.Message);
}
}
这里还有一个来自我的库的简单客户端示例: