C# 通过internet使用TCP套接字发送/接收字节(可能使用静态IP)
我在通过局域网使用TCP套接字发送/接收数据方面取得了成功,但我希望通过互联网实现同样的目标。我问了一些朋友,得到了使用静态IP的想法。我想知道如何使用静态IP?我的意思是我需要在主机上配置端口设置吗 下面是我想使用的示例代码,仅为您提供一个想法:C# 通过internet使用TCP套接字发送/接收字节(可能使用静态IP),c#,sockets,tcp,static-ip-address,C#,Sockets,Tcp,Static Ip Address,我在通过局域网使用TCP套接字发送/接收数据方面取得了成功,但我希望通过互联网实现同样的目标。我问了一些朋友,得到了使用静态IP的想法。我想知道如何使用静态IP?我的意思是我需要在主机上配置端口设置吗 下面是我想使用的示例代码,仅为您提供一个想法: using System; using System.Net; using System.Net.Sockets; using System.Text; class MainClass { public static void Main()
using System;
using System.Net;
using System.Net.Sockets;
using System.Text;
class MainClass
{
public static void Main()
{
IPEndPoint ip = new IPEndPoint(IPAddress.Any,9999);
Socket socket = new Socket(AddressFamily.InterNetwork,SocketType.Stream, ProtocolType.Tcp);
socket.Bind(ip);
socket.Listen(10);
Console.WriteLine("Waiting for a client...");
Socket client = socket.Accept();
IPEndPoint clientep =(IPEndPoint)client.RemoteEndPoint;
Console.WriteLine("Connected with {0} at port {1}",clientep.Address, clientep.Port);
string welcome = "Welcome";
byte[] data = new byte[1024];
data = Encoding.ASCII.GetBytes(welcome);
client.Send(data, data.Length,SocketFlags.None);
Console.WriteLine("Disconnected from {0}",clientep.Address);
client.Close();
socket.Close();
}
}
一旦您拥有了静态IP,您需要将其作为IP之一添加到网络适配器中,请检查是否执行了相同的操作 然后,您需要确保您的服务器套接字在此IP上列出,因为您正在使用
IPAddress。任何它都将绑定到系统上所有可用的IP地址
最后,您需要在客户端代码中显式地提供静态IP。可能将此IP存储在配置文件中,以便在以后更改。如果您愿意,您可以设置一个自定义域名,并将其指向静态ip,以便使用它而不是ip。是的,我们需要配置端口和ip,以便在两台服务器之间进行通信。我已经为此做了VPN配置。请确保您能够从尝试运行此代码的位置连接到该系统。您可以在命令提示符下运行ipconfig/netstat命令来测试这一点
请先执行此操作,并确保两个系统都能够相互通信,然后请尝试运行此代码。在此之后,您仍然面临问题,请随时与我联系。为什么要使用[asp.net]和[vb.net]标记?基本上,我想使用TCP套接字通过internet完成发送/接收字节,因此我想了解如何在此处使用静态IP,以及指定端口(如果有)需要进行哪些设置。同样的,我们只为LAN指定IP;在TCP套接字中使用静态IP需要做什么设置?基本上,我想使用TCP套接字在internet上完成发送/接收字节,因此我想了解如何在此处使用静态IP,以及指定端口(如果有)需要做什么设置。同样的,我们只为LAN指定IP;在TCP套接字中使用静态IP要做什么设置?您好,正如我从“服务器”代码的角度所解释的,您已经可以确保端口9999(基于您给出的示例代码)可以从服务器外部访问。从客户端,在创建IPEndPoint
对象时使用静态ip,然后连接到客户端。您能给我写下发送和接收端口设置以及ip设置,以便在C#中进行TCP套接字编程吗?好的,任何涉及客户端-服务器通信的示例都可以。您可以在或处查看此项