C# 即使我打开了它,港口也关闭了
我需要帮助解决我的问题。C# 即使我打开了它,港口也关闭了,c#,portforwarding,C#,Portforwarding,我需要帮助解决我的问题。 我使用Comtrend VR 302e。 我已经这样设置了端口转发。 但当我打开联机端口检查器或telnet时,它告诉我我的端口已关闭。为什么? 代码: 服务器 static byte[] data; // 1 static Socket socket; // 1 static void Main(string[] args) { while (true) { socket
我使用Comtrend VR 302e。
我已经这样设置了端口转发。
但当我打开联机端口检查器或telnet时,它告诉我我的端口已关闭。为什么? 代码: 服务器
static byte[] data; // 1
static Socket socket; // 1
static void Main(string[] args)
{
while (true)
{
socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
socket.Bind(new IPEndPoint(IPAddress.Any, 3459));
socket.Listen(10);
Socket acceptData = socket.Accept();
data = new byte[acceptData.SendBufferSize];
int j = acceptData.Receive(data);
byte[] adata = new byte[j];
for (int i = 0; i < j; i++)
{
adata[i] = data[i];
}
string dat = Encoding.Default.GetString(adata);
Console.WriteLine(dat);
}
}
我们希望在此处看到完整(但简短)代码,而不是在外部网站上。编辑和添加的代码我们希望在此处看到完整(但简短)代码,而不是在外部网站上。编辑和添加的代码
Socket s = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
try // 1
{
s.Connect(IPAddress.Parse(textBox1.Text), 3459); // 2
string q = "It works"; // 3
byte[] data = Encoding.Default.GetBytes(q); // 3
s.Send(data);
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}