在单台计算机上进行套接字编程?

6

我正在构建一个客户端-服务器聊天应用程序。

它包括服务器和客户端部分。

是否可以在同一台计算机上测试该应用程序,还是真的需要两台不同的计算机来运行应用程序。

6个回答

5

是的,您可以在同一台机器上测试您的应用程序。

在这种情况下,客户端和服务器的IP地址将相同。只需为客户端和服务器打开不同的端口即可。


服务器将始终侦听单个常量端口。但是,每个客户端都必须打开一个端口(不能与服务器相同),以便与服务器端口通信。 - Haris Hasan
是的,抱歉我刚才删除了我的评论,我的意思是通常套接字库会自动执行这个操作。我的意思是你只需要定义对等端口,然后让套接字随机决定使用哪个端口来“出去”。如果我错了,请纠正我。 - raz3r

2
是的,这是可能的。
1. 启动您的服务器,它将侦听特定端口(服务器应用程序已定义一个或您必须向其提供一个)。 2. 启动客户端应用程序并使其连接到您的计算机(127.0.0.1),使用服务器应用程序侦听的端口号。 如果您的程序没有提供命令行选项来指定IP地址或端口号,则可能需要修改该应用程序以更改IP地址或端口号。

1
你可以在同一台机器上进行测试。我正在打这个注释的时候就在做这件事。:)
当然,应该遵守你所期望的正常事情...例如,你不能在同一接口上测试两个监听器的同一端口。但是,一个客户端连接到同一台服务器上应该没有问题。
当然,在发布之前,你还应该在不同的机器上进行测试。这可能会暴露单个机箱配置无法揭示的漏洞。

1

不需要,您可以绑定相同的IP和不同的端口。它们将正常工作。 或者您可以安装虚拟机。


0

您可以在同一台机器上进行测试,只需确保客户端和服务器绑定到不同的端口即可。


0

是的,您可以在本地测试它。您可以使用回送地址127.0.0.1、您的机器名称或IP地址进行连接。

如果您正在为应用程序选择端口号,请确保您了解端口用于和其他程序保留。例如,如果您尝试使用端口80,则会与运行Web服务器的人发生冲突。

此外,虽然在本地测试很好,但您需要确保了解您的应用程序需要在不同的防火墙应用程序和路由器中如何配置。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接