想在自家网络里搭个 TCP 服务器,却不知道从哪儿下手?担心步骤太复杂,自己搞不定?其实家庭网络搭建 tcp 服务器没那么难,今天小编就一步步教你,就算是新手也能跟着做,一起往下看吧!
先搞清楚,家庭搭 TCP 服务器要准备啥
家里搭服务器,不用买多贵的设备。我们在使用的时候,一般找台旧电脑就行,笔记本、台式机都可以,配置不用太高,能流畅开机、联网就成。系统呢,新手推荐用 Windows,比如 Win10,界面看得懂,操作也简单;要是你想试试 Linux,Ubuntu 也不错,就是得记几个命令。
还得有个路由器,因为服务器要连家里的网,还得让外面的设备能访问到。另外,得准备个简单的服务器程序,小编推荐用 Python 写的,代码少,改改参数就能用,后面会教你怎么弄。对了,最好再记一下家里宽带的公网 IP,不知道的话,百度搜 “IP” 就能看到。
不过话说回来,不是所有家庭宽带都有公网 IP,有些运营商给的是内网 IP,这种情况外面的设备可能连不上,后面会说怎么解决。
路由器设置是关键,这几步不能错
第一步,给服务器电脑设个固定内网 IP。比如在 Windows 里,右键右下角网络图标,点 “打开网络和共享中心”,找到连接的网络,点 “属性”,再选 “Internet 协议版本 4”,手动填 IP,比如 192.168.1.100,子网掩码 255.255.255.0,网关填路由器 IP(一般是 192.168.1.1)。这样电脑 IP 就不会变了,路由器才能找到它。
第二步,路由器里要做端口映射。打开浏览器,输路由器 IP(比如 192.168.1.1),登录后台(账号密码一般在路由器背面)。找 “端口映射” 或 “虚拟服务器” 选项,添加映射:外部端口和内部端口都填你想用的(比如 8080),内部 IP 填刚才设的服务器 IP(192.168.1.100),协议选 TCP。保存后,外面的请求才能找到家里的服务器。
为啥要做端口映射?因为路由器就像家里的大门,端口是钥匙,不映射的话,外面的人拿着钥匙也找不到门在哪儿。
服务器程序怎么弄?简单代码就能跑
小编给大家个简单的 Python 代码,新手也能看懂。先在服务器电脑上装 Python(官网下载,一路点下一步就行),然后新建个记事本,改名叫 server.py,里面写:
import socket
s = socket.socket ()
s.bind ((‘0.0.0.0’, 8080)) # 8080 就是刚才映射的端口
s.listen (5)
print (‘ 服务器等着呢 ‘)
while True:
conn, addr = s.accept ()
print (‘ 有人连上了:’, addr)
conn.send (‘ 你好啊 ‘.encode ())
conn.close ()
保存后,打开 CMD,找到这个文件的位置,输 python server.py,看到 “服务器等着呢” 就说明跑起来了。
要是你不会 Python,也能用现成的工具,比如 HFS(HTTP File Server),虽然是 HTTP 的,但原理差不多,设置里开 TCP 端口就行,不过功能没自己写的灵活。
测试一下,看看能不能用
先在自家局域网里测:找另一台连家里 WiFi 的设备,打开 CMD 或终端,输 telnet 服务器内网 IP 8080(比如 telnet 192.168.1.100 8080),要是看到 “你好啊”,说明内网能用了。
再试试外网访问:用手机关掉 WiFi,用流量,打开浏览器或终端,输 telnet 公网 IP 8080。能连上就成了,连不上可能是没公网 IP,这时候可以试试内网穿透工具,比如花生壳,不过免费版速度慢点。
常见问题怎么解决?
问:服务器跑一会儿就自己关了?
答:可能是电脑休眠了,在电源设置里把 “睡眠” 改成 “从不”,这样就可以一直跑了。
问:外网连不上,内网能连?
答:先看看端口映射对不对,再检查路由器防火墙是不是拦了,还不行就问问运营商有没有给公网 IP,有些地方得打电话申请。
小编觉得,家庭搭 TCP 服务器主要是多试,出问题别慌,一步步排查。比如端口映射错了就重新设,IP 变了就再固定一次。另外,不用追求太高配置,家庭用够了就行,安全方面记得用完关掉,别一直开着。或许暗示这样既能满足需求,又能省点电呢。
对了,不同品牌的路由器,端口映射的界面可能不太一样,具体怎么找那个选项,我也不是全都清楚,遇到陌生界面可以搜路由器型号 +“端口映射”,一般都有教程。