监听端口。

服务器端属于被动等待连接,所以服务器端启动以后,不需要发起连接,而只需要监听本地计算机的某个固定端口即可。

这个端口就是服务器端开放给客户端的端口,服务器端程序运行的本地计算机的IP地址就是服务器端程序的IP地址。

### 如何在Ubuntu系统中监听端口 对于在Ubuntu系统上配置服务以监听特定端口,通常涉及几个方面的工作。如果要设置Docker容器内的Nginx服务器来监听低于1024的特权端口(例如HTTPS的标准端口443),则需要特别注意权限问题[^3]。 当希望应用程序监听任何端口时,在命令行工具`netcat`的帮助下可以简单测试端口监听功能: ```bash nc -lvp 8080 ``` 上述命令会让`netcat`监听本地机器上的8080端口。这里的选项 `-lv` 表示启用监听模式并显示详细信息;而 `p` 后跟指定端口号表示程序应该绑定到该端口。 然而,对于小于1024的端口来说,默认情况下只有root用户才有权访问这些所谓的“特权”端口。因此,为了使非特权用户运行的服务能够监听此类低编号端口,有几种方法可供选择: - **更改启动参数**:某些应用允许通过配置文件调整其默认行为,从而可以在不改变进程身份的情况下让它们安全地绑定至较低端口。 - **使用iptables重定向流量**:可以通过防火墙规则将高编号端口接收到的数据包转发给目标低编号端口。这使得实际处理请求的应用无需直接占用敏感资源即可实现对外提供服务的目的。 - **提升执行权限**:临时赋予必要的最小化权限范围,比如利用Linux capabilities机制仅授予bind capability而不是完全切换成超级管理员账户操作。 最后一种情况适用于像Docker这样的环境,其中可能确实有必要作为root运行整个容器实例以便简化内部组件之间的交互过程。 #### 使用Python创建简单的HTTP服务器监听端口的例子 下面是一个非常基础的例子,展示了怎样用几行Python代码建立一个简易Web服务器,并让它监听自定义端口: ```python from http.server import SimpleHTTPRequestHandler, HTTPServer def run(server_class=HTTPServer, handler_class=SimpleHTTPRequestHandler, port=8080): server_address = ('', port) httpd = server_class(server_address, handler_class) print(f'Starting httpd server on {port}') httpd.serve_forever() if __name__ == "__main__": from sys import argv if len(argv) == 2: run(port=int(argv[1])) else: run() ``` 此脚本接受可选命令行参数用于设定不同的监听端口,默认会尝试打开8080端口。请注意,如果打算监听<1024的端口,则需确保有足够的权限去这样做,或者考虑采用前面提到的技术手段绕过这一限制。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值