您现在的位置是:时尚 >>正文
socket通信 电脑端口如何设置
时尚28926人已围观
简介电脑端口设置,说白了就是给Socket通信开一扇门。这扇门不是随便开的,得知道门牌号、用什么钥匙,还得防着隔壁老王防火墙)来捣乱。 先看门牌号。Socket通信里,端口号是0到65535的整数。0到1 ...
电脑端口设置,通信说白了就是电脑端口给Socket通信开一扇门。这扇门不是何设随便开的,得知道门牌号、通信用什么钥匙,电脑端口还得防着隔壁老王(防火墙)来捣乱。何设
先看门牌号。通信Socket通信里,电脑端口端口号是何设0到65535的整数。0到1023是通信“特权端口”,像80给HTTP、电脑端口443给HTTPS、何设22给SSH,通信这些是电脑端口系统预留的,普通程序去抢会被系统一巴掌拍回来。何设你要自己写程序,用1024以上的高端口就行,比如8080、9090这些。别用65535,那是最大边界,容易撞上系统保留地址。
设置端口的第一步,是让程序绑定一个明确的IP和端口。代码里常见这么写:server.bind(("0.0.0.0", 8080))。这里“0.0.0.0”表示监听所有网卡接口,意思是“谁来敲门我都应”。如果你只想让本机能访问,就写“127.0.0.1”,这叫回环地址,外网根本摸不到。这两种写法差异极大——我见过有人把服务绑在127.0.0.1上,结果其他电脑死活连不上,自己还纳闷半天,其实就是没分清“本机”和“全网”的区别。
第二步是处理端口冲突。你启动程序时提示“Address already in use”,说明8080端口被占用了。Windows下用netstat -ano | findstr 8080,Linux用lsof -i:8080,找到那个PID,直接杀掉。但杀之前得看清楚——万一是数据库或别的关键服务占着,你把它杀了,整个系统都跟着遭殃。我遇到过有人把Linux的SSH端口占了,杀了之后远程连接直接断掉,那叫一个惨。
第三步是防火墙规则。端口设好了,程序跑起来了,但外部还是连不上——八成是防火墙拦着。Windows防火墙默认拦外部入站,Linux的iptables或firewalld也类似。你得加一条放行规则,比如Linux下firewall-cmd --add-port=8080/tcp --permanent,然后reload。这里有个坑:如果你用的是云服务器(阿里云、腾讯云那种),光设系统防火墙没用,还得去云控制台的安全组里放行端口。这层忘了,系统内怎么折腾都白搭。
还有个容易忽略的点:动态端口。有些程序不固定端口,每次启动随机分配一个。比如某些P2P软件,你看着它连上了,但重启后端口就变了,外部设备跟着抓瞎。如果做Socket通信,最好显式指定端口,别依赖系统自动分配。自动分配适合客户端,不适合服务端——服务端得让所有客户端都知道去哪敲门。
最后说个实际案例。我调试一个IoT设备通信,设备端代码写了绑定5000端口,测试时怎么都连不通。查了一圈,发现设备内部有个服务占用了5000,程序绑定失败但没报错,只是悄悄换了端口。这种“静默失败”最坑人——你以为端口设好了,实际根本没绑定成功。所以设置端口后,一定要用netstat或ss命令确认一下监听状态,别光看程序没报错就以为万事大吉。
端口设置就这么点事:绑定地址、避开冲突、放行防火墙、确认监听。真上手操作一遍,比看十篇文章都管用。
Tags:
相关文章
八戒刷机网
时尚老周蹲在城中村的出租屋里,面前摆着三台砖头一样的手机。他管这个叫“板砖”,屏幕全黑,按什么键都没反应。这是他今天收来的第五批“尸体”——全是刷机刷死的。我站在他身后,看他用镊子挑开主板上的屏蔽罩,嘴里 ...
【时尚】
阅读更多上网行为审计软件
时尚公司IT部门在每台办公电脑上装了一款上网行为审计软件。安装那天,行政发了一封邮件,说这是为了“保障网络安全、提升工作效率”。没人当真。直到第二周,市场部的小王被叫去谈话——他上周在招聘网站刷了四小时简 ...
【时尚】
阅读更多sql注入漏洞实验
时尚去年帮一个朋友看他的电商后台,登录框输入 ' or '1'='1,密码随便填,直接进了管理员面板。他脸都白了。这不是电影桥段,是 SQL 注入最经典的入门案例——后端把用户输入直接拼进 SQL 语句, ...
【时尚】
阅读更多