测试一台机器多个IP,相同端口的服务侦听

测试一台机器多个IP 相同端口的服务侦听 阅读详情

一台机器上,配置了多个IP,有多个应用,他们要使用相同的端口,这样能实现吗?

比如,IIS和tomcat并行运行,没有任何集成,他们分别侦听各自的IP,都是80端口,这样可行吗?

我用java做了本地的测试,机器上给一个网卡配置了2个ip
192.168.1.176
192.168.1.177

然后运行下面的程序
  1. import java.io.IOException;
  2. import java.io.OutputStream;
  3. import java.net.InetSocketAddress;
  4. import com.sun.net.httpserver.HttpExchange;
  5. import com.sun.net.httpserver.HttpHandler;
  6. import com.sun.net.httpserver.HttpServer;
  7. import com.sun.net.httpserver.spi.HttpServerProvider;
  8. /**
  9.  * 测试一台机器多个IP,相同端口的服务侦听
  10.  * 
  11.  * @author 老紫竹(Java世纪网,java2000.net)
  12.  */
  13. public class Test {
  14.   public static void main(String[] args) throws Exception {
  15.     new HTTPServerTest("192.168.1.176", 60080);
  16.     new HTTPServerTest("192.168.1.177", 60080);
  17.   }
  18. }
  19. class HTTPServerTest {
  20.   private String ip;
  21.   private int port;
  22.   HTTPServerTest(String ip, int port) throws IOException {
  23.     this.ip = ip;
  24.     this.port = port;
  25.     HttpServerProvider httpServerProvider = HttpServerProvider.provider();
  26.     // 绑定端口
  27.     InetSocketAddress addr = new InetSocketAddress(ip, port);
  28.     HttpServer httpServer = httpServerProvider.createHttpServer(addr, 1);
  29.     httpServer.createContext("/", new HTTPDownloaderServiceHandler());
  30.     httpServer.setExecutor(null);
  31.     httpServer.start();
  32.     System.out.println("started");
  33.   }
  34.   class HTTPDownloaderServiceHandler implements HttpHandler {
  35.     public void handle(HttpExchange httpExchange) {
  36.       try {
  37.         String response = "OK!" + ip + ":" + port;
  38.         httpExchange.sendResponseHeaders(200, response.getBytes().length);
  39.         OutputStream out = httpExchange.getResponseBody();
  40.         out.write(response.getBytes());
  41.         out.close();
  42.         httpExchange.close();
  43.       } catch (Exception ex) {
  44.         ex.printStackTrace();
  45.       }
  46.     }
  47.   }
  48. }

启动后,分别在浏览器输入
http://192.168.1.176:60080
显示
OK!192.168.1.176:60080
输入
http://192.168.1.177:60080
显示
OK!192.168.1.177:60080

结论:一台机器上的端口等于机器的ip数量*65536,也就是每个ip都有自己的一组独立端口。


但可惜,我没有在tomcat里面配置出2个同时侦听8080的服务出来,她的service.xml里面
<Server port="8005" shutdown="SHUTDOWN">

这个只有端口,没有host的配置。希望知道如何配置的朋友给我留言。谢谢。
如果我自己找到了,也会再单独发上来的。



别再手动输命令了!Xshell隧道+端口转发一键登录内网机器(附SSH配置模板) 本文详细介绍了如何利用Xshell隧道和端口转发技术实现一键登录内网服务器,大幅提升运维效率。通过SSH配置模板和实战案例,帮助用户快速掌握自动化内网访问方案,适用于跳板机、数据库等多种场景,操作效率提升300%。 阅读详情

相关推荐

思博伦Spirent TestCenter创建单播流uni-stream

Traffic Generator列表中会出现刚才创建的uni-stream,创建完成。通常测试情况下,主要对Ethenet II和IPv4 Header进行配置。(通常情况下,如果流配置比较规范,选择任意端口接收,也没问题。编辑uni-stream基本信息。配置本条流由STC哪个端口接收。

辗转反测的博客 1683

多个进程能否监听同一个端口号?

我们都知道socket是网络上两个进程之间的双向通信链路, 即socket = A进程的IP地址:端口号  B进程的IP地址:端口号。 那么有个问题就很有意思了,不同的进程可以监听在同一个IP地址:端口号么?根据Unix网络编程中的知识可知,服务端监听一个端口会经历:1、根据套接字类型(Ipv4,Ipv6等)创建套接字socket2、将套接字bind绑定到具体的网络地址和端口号3、调用liste

jiq•钦's technical Blog 2万+

FISCO-BCOS配置及使用控制台

如果因为网络问题长时间无法下载,请尝试:curl -#LO https://gitee.com/FISCO-BCOS/console/raw/master-2.0/tools/download_console.sh && bash download_console.sh。为了可以更加方便快捷,所以HelloWorld合约已经被内置了,位于控制台下面的contracts/solidity/HelloWorld.sol。用于获取和设置name的值,合约代码如下。部署成功会返回合约地址。

qq_51562644的博客 832

同一端口是否可以绑定到多个IP上(关于Socket编程中地址与端口绑定那些事)

一块网卡有多个IP,是否能够将同一个端口绑定在多个IP地址上?废话不多说,上源码: 【源码1】#include <QAbstractSocket> #include <QHostAddress>int main(int argc, char *argv[]) { QAbstractSocket *qAbsSocket1 = new QAbstractSocket(QAbstractSocke

皓月如我的专栏 1万+

第二十届全国大学生智能车竞赛-地瓜机器人智慧医疗挑战赛技术解析与实战指南

本文深入解析了第二十届全国大学生智能车竞赛-地瓜机器人智慧医疗挑战赛的核心技术。内容涵盖从零搭建数字孪生环境、实现AI视觉任务(二维码识别、引导线追踪、目标检测)、在边缘设备部署轻量化大模型进行图生文描述,到遥操作与自主控制的平滑切换,并提供了基于ROS2的系统集成与赛场实战指南,助力参赛者高效备赛。

weixin_29252171的博客 2778

Anomalib库安装以及使用

Anomalib是一个专注于异常检测的深度学习库。它的目标是收集最新的异常检测算法,并提供用于在公共和私有数据集上进行基准测试的工具。该库提供了一系列已实现的异常检测算法,这些算法在最近的文献中有所描述。此外,Anomalib还提供了一套工具,方便开发人员开发和实现自定义模型。该库特别注重基于图像的异常检测,旨在识别数据集中的异常图像或图像中的异常像素区域。通过使用Anomalib,用户可以快速构建和评估各种异常检测算法,以满足其特定需求。

mingo_敏 5201

Java 用JainSip实现服务器端SIP通讯----之监听篇

Java web服务器实现SIP通讯(或GB28181),一般有两种选择:SipServlet和JainSip 前者更适合服务器,后者较适合客户端 前者用类似web servlet的方式实现了sip通信,直接就实现了多线程的sip通信的并发 后者相对底层一点,不具有并发能力 但,前者需要Web容器的支持,目前好象能用的只有两三种,且与web servlet并存性好像也不好 故,考虑到要用

dongfangyu123456的博客 1万+

OpenCV计算机视觉实战(12)——图像金字塔与特征缩放

图像金字塔技术通过对原始图像按不同分辨率进行多层次表示,不仅能提升计算效率,还能为图像融合、检测与识别提供多尺度特征。高斯金字塔 (Gaussian Pyramid) 用于构建多级低通图像,拉普拉斯金字塔 (Laplacian Pyramid) 则提取各层之间的细节信息。本节将深入介绍如何使用 OpenCV 构建高斯与拉普拉斯金字塔,并以经典的图像融合案例,展示图像金字塔在特征缩放与融合中的强大应用。

qq_30167691的博客 1404

重复端口号规则:为相同的端口号或端口范围设置了重复的访问控制规则

在网络安全中,端口号是一个非常重要的概念,它用于区分不同进程之间的通信。然而,当同一台服务器上存在多个服务或者应用程序需要监听相同的端口号时,就会产生一个问题:如果这些服务或者应用程序的访问控制规则设置得过于宽松,那么它们就有可能被恶意攻击者利用,从而造成安全事故。因此,为了避免这种情况的发生,我们需要对服务器上的端口号进行合理的管理,确保每个端口号只被允许一个服务或者应用程序使用。要安装的服务器或虚拟机能够连接互联网的情况下可以通过以下命令自动安装,服务器或虚拟机不能连接互联网的请见下方的离线安装说明。

ZOMO的博客 1992

【WRF数据准备】基于Python更新geo_em.d0.nc文件中Albedo/LAI等静态地理数据

基于Python更新geo_em.d0.nc文件中Albedo/LAI等静态地理数据

WW、forever的博客 591

SpringBoot 插件化开发详细总结

SpringBoot 插件化开发方案总结

congge 1万+

能否用同一端口与不同服务器(不同ip或端口)建立TCP连接?

经过测试,确实可行,依照“SOCKET是一个四元组(本机IP、本机端口、对方IP、对方端口)”,对二个SOCKET“使用SO_REUSEADDR选项进行设置”,成功实现了: 本机IP:8000->www.sina.com.cn:80 本机IP:8000->www.china.com:80 两条TCP连接。 但是服务器监听端口是不能重复占用的。我觉得监听Socket(Server...

zzd的博客 3085

12、知识图谱数据处理与推理全解析

本文深入解析了知识图谱中的数据处理与推理技术,涵盖SHACL的多种约束类型(如值约束、范围约束、字符串约束、逻辑约束等)及其在数据质量控制中的应用,并介绍了常用的SHACL工具与实际案例。文章对比了SPARQL与SHACL的特点,探讨了RDF(S)的局限性,引出表达能力更强的OWL和OWL2语言及其在语义网和生物医学等领域的应用。此外,还阐述了规则在知识表示中的作用,包括产生式规则和Datalog规则,并总结了知识图谱中推理的重要性与典型流程,为构建高质量、可推理的知识图谱提供了全面的技术指导。

zz67890的博客 136

在一台机器上,怎样开启两个mysql服务

在一台机器上,怎样开启两个mysql服务在一台机器上运行两个mysql服务,对应两个数据库,应该怎样操作?最佳答案7月26日 10:36 有些情况下你可能想要在同一台机器上运行多个服务器。例如,你可能想要测试一个新的MySQL版本而让你现有生产系统的设置不受到干扰,或你可能是想要为不同的客户提供独立的MySQL安装一个因特网服务供应商。如果你想要运行多个服务器,最容易的方法是用不同的TCP

二毛他弟的程序人生 1029

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

在一台机器上运行多个MySQL实例

目录 设置多个数据目录 创建一个新的数据目录 复制现有数据目录 在Windows上运行多个MySQL实例 在Windows命令行中启动多个MySQL实例 将多个MySQL实例作为Windows服务启动 在Unix上运行多个MySQL实例 在多服务器环境中使用客户端程序 在某些情况下,您可能希望在一台计算机上运行多个MySQL实例。您可能想测试新的MySQL版本,同时保持现有的生产...

wangchaofan1992的博客 911

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

TCP 和 UDP 可以同时监听相同的端口吗?

关于端口的知识点,还是挺多可以讲的,比如还可以牵扯到这几个问题: 多个 TCP 服务进程可以同时绑定同一个端口吗? 客户端的端口可以重复使用吗? 客户端 TCP 连接 TIME_WAIT 状态过多,会导致端口资源耗尽而无法建立新的连接吗? 所以,这次就跟大家盘一盘这些问题。

wdj_yyds的博客 668

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

测试udp服务的端口是否可用

测试tcp服务的端口是否可用,可以使用: telnet ip port   但是如果这个用在upd服务上,就会报错, 因为telnet走的是tcp协议, 比如说192.168.80.131在8888端口上上启了个udp的服务,这时使用telnet 192.168.80.131 8888,就会报如下错误: Trying 192.168.80.131... telnet: c

bytxl的专栏 9万+

TCPUDP端口可达

测试tcp服务的端口是否可用,可以使用: telnet ip port &nbsp; 但是如果这个用在upd服务上,就会报错, 因为telnet走的是tcp协议, 比如说192.168.80.131在8888端口上上启了个udp的服务,这时使用telnet 192.168.80.131 8888,就会报如下错误: Trying 192.168.80.131… telnet: connect to ...

qq_43682465的博客 822

没有 telnet 不能测试端口?容器化部署最佳的端口测试方式

生产中遇到,整理笔记在容器中没有telnet,如何测试远程端口理解不足小伙伴帮忙指正他的一生告诉我们,不能自爱就不能爱人,憎恨自己也必憎恨他人,最后也会像可恶的自私一样,使人变得极度孤独和悲观绝望。—— 赫尔曼·黑塞《荒原狼》没有telnet,就不能测试端口了?和小伙伴们分享一些容器下端口测试的方法Demo 端口环境准备,相关网段机器,远程机器,监听 55555 端口测试环境,相同网段机器正在连接 192.168 .26.55:55555 .. . 已连接。

山河已无恙 1928

mysql 多实例5.6_5.6 在一台机器上运行多个mysql 实例

参考官方文档:在某些情况下,您可能希望在单台机器上运行多个MySQL实例。 您可能想要测试新的MySQL版本,同时保持现有生产环境不受干扰。 或者你可能想让不同的用户访问他们自己管理的不同mysqld服务器。 (例如,您可能是服务提供商,希望为不同的客户提供独立的MySQL安装。)每个实例可以使用不同的MySQL服务器二进制文件,也可以对多个实例使用相同的二进制文件,也可以使用这两种方法的任意组合...

weixin_39918747的博客 275

计算机的端口、端口漏洞

计算机 相当于 大楼 端口 相当于 门牌号对应的门 应用程序 相当于 办公室,程序的功能就是办公室里面职员做的工作。

freeking101的博客 4万+

如何在 Ubuntu 18.04 上使用 UFW 管理和转发端口

介绍 每个 Web 服务都可以通过特定的 URL 在 Internet 上访问,该 URL 代表一种“替代名称”,用于标识提供该服务的服务器的 IP 地址和端口。同一台机器可以同时在不同的端口上提供不同的服务。 出于安全原因,可能需要屏蔽 Web 服务的端口号,从而在外部显示与服务实际侦听的端口号不对应的端口号。 感谢本教程,您将能够管理您的服务器端口,配置集成在 Ubuntu 中的 UFW 防火墙。特别是,按照指南的说明,您将学习将来自某个端口的请求转发到另一个端口(端口转发),同时使用后者提供的.

allway2的博客 3582

ncat / nc command

nc(netcat)是一个短小精悍、功能实用、简单可靠的网络工具,主要有如下作用:(1)端口侦听,nc 可以作为 server 以 TCP 或 UDP 方式侦听指定端口;(2)端口扫描,nc 可以作为 client 发起 TCP 或 UDP 请求;(3)机器之间传输文件;(4)机器之间网络测速。nc 实际上是 ncat 的软链接。ncat 是为Nmap(Network Mapper) 项目编写的,是 Nmap 套件中的一员,它旨在成为可靠的后端工具,可立即为其他应用程序和用户提供网络连接。

Doublelv 的博客专栏。 3494

多个队列管理器间相互通信

说明:本例旨在使用本地机器和阿里云服务器,分别建立消息发送队列管理器和消息接收队列管理器(本地发送消息,阿里云接收消息)。本地IBM MQ(windows)和阿里云IBM MQ(linux)之间相互通信。   本地建立发送消息队列管理器MQ_SEND,侦听端口1417 1.1右击队列管理器,点击新建,点击队列管理器   1.2输入队列管理器名称MQ_SEND   1.3 点击两...

黎小小的博客 2203

网络编程利器nc和telnet命令的简单使用

两个命令的介绍 telnet命令 telnet可以实现的功能: 1.连接服务器端口,并进行通信 2.登录远程telnet服务器,使用命令行对其进行控制 nc命令 nc可以实现的功能: 1.监听服务器端口,并与客户端通信(最多只能接收一个客户端) 2.对指定服务器进行端口扫描 3.作为客户端连接到远程服务器进行通信. 两个命令的下载 在使用之前,很多Linux发行版本没有集成这个命令,我的机器是...

RandyLambert的博客 2230
上一篇: 如何获得一个未声明泛型集合的泛型类型?
下一篇: Oracle中绑定变量的简单性能测试
老紫竹
博客等级 码龄19年 1万+粉丝 1252原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值