大家好,提前谢谢请原谅我的英语水平很差,但我需要一些帮助:我的问题是我正在尝试制作一个通过 Internet 发送字节的应用程序,每当我尝试连接它时都会说:连接可以未完成机器主动拒绝 IP:PORT
请记住:
- 当我尝试连接“127.0.0.1”时,该应用程序工作
- 防火墙已关闭
- 端口打开。当我在 CMD 中运行“NetStat -an”命令时,它显示我的应用程序像这样 0000:Port LISTENING 意味着服务器正在列出
- 服务器和客户端都使用相同的端口
这是服务器的代码
public static void start()
{
SocketPermission permission = new SocketPermission(NetworkAccess.Accept, TransportType.Tcp,"", SocketPermission.AllPorts);
sock = new Socket(AddressFamily.InterNetwork, SocketType.Stream, Settings.Protcole);
permission.Demand();
IPEndPoint end = new IPEndPoint(IPAddress.Any, Settings.Port);
sock.Bind(end);
sock.Listen(10);
accepted = sock.Accept();
Connected = true;
}
这是客户端的代码
public static void Connect(string IP)
{
try
{
SocketPermission permission = new SocketPermission(NetworkAccess.Accept, TransportType.Tcp, Server.GetIP(), SocketPermission.AllPorts);
sock = new Socket(AddressFamily.InterNetwork, SocketType.Stream, Settings.Protcole);
permission.Demand();
IPEndPoint end = new IPEndPoint(IPAddress.Parse(IP), Settings.Port);
sock.Connect(end);
Connected = true;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "O.o", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}