是不是觉得搭建 TCP 服务器听起来特复杂?一堆专业术语,看教程看到头大?其实真没那么难,今天小编就用大白话给你讲讲,从准备工作到实际操作,再到简单案例,保证新手也能看明白,一起往下看吧!
搭建 TCP 服务器前,得准备些啥?
首先得有台电脑当服务器,配置不用太高,普通家用电脑就行,当然你要是用云服务器也可以。然后操作系统,Windows 或者 Linux 都能弄,新手的话建议先从 Windows 开始,操作界面看着亲切。
还得装个工具,比如 Windows 自带的 CMD 命令提示符,或者 Linux 里的终端,用来输入指令。哦对了,得知道自己电脑的 IP 地址,怎么查呢?Windows 系统按 Win+R,输入 cmd,再敲 ipconfig 就能看到;Linux 的话,终端里输 ifconfig 就行,很简单吧。
Windows 系统下,怎么搭 TCP 服务器?
小编以 Windows 10 为例,给你说说步骤:
- 打开 CMD,先别急着敲命令,得确认防火墙有没有挡着。可以暂时把防火墙关了试试,要是怕不安全,也可以在防火墙设置里允许 TCP 端口通过,比如常用的 8080 端口。
- 用 Python 来搭特别方便,新手也能学会。先在官网下载 Python 安装好,然后新建个文本文件,改名叫 server.py,里面写几行代码:
import socket
s = socket.socket (socket.AF_INET, socket.SOCK_STREAM)
s.bind ((‘ 自己的 IP’, 8080))
s.listen (5)
print (‘ 服务器启动了 ‘)
这样保存好,然后在 CMD 里找到这个文件的位置,输入 python server.py,回车,服务器就跑起来了。 - 怎么测试能不能用呢?再开一个 CMD 窗口,输入 telnet 自己的 IP 8080,如果连接成功,就说明搭建没问题了。
不过有个小问题,Python 写的这个是最基础的,只能看个效果,真要用的话还得加点功能,比如接收消息什么的,但作为入门练习够了。
Linux 系统搭建,和 Windows 有啥不一样?
Linux 里用命令行操作多一点,但也不复杂。本人以 Ubuntu 为例:
- 同样先检查端口,用 netstat -tuln 看看有没有占用 8080 端口,有的话就换一个,比如 8888。
- 也可以用 Python,步骤跟 Windows 差不多,新建 server.py,代码一样,然后在终端里运行 python3 server.py。
- 测试的话,用 telnet 命令也行,或者用 nc 命令,输 nc 自己的 IP 8080,很方便。
Linux 的好处是稳定性好,适合长时间运行,要是你想搭个能一直用的服务器,用 Linux 挺合适的。
来个实战案例,比如搭建文件传输服务器
就用 Python 写个简单的,能传个文本文件啥的。
服务器端代码稍微改改,加上接收文件的功能,客户端也写个小程序,指定要传的文件,然后运行服务器和客户端,就能把文件从客户端传到服务器了。小编试过传个 TXT 文件,速度还挺快,就是代码得仔细点,别写错字母,不然会报错。
遇到报错该怎么办呢?大部分时候是端口被占用了,换个端口就行;或者 IP 地址写错了,再查一遍;还有可能是防火墙没设置好,把端口放开就没问题了。
新手常犯的错,给你提个醒
别把 IP 地址写错了,尤其是用云服务器的时候,得用公网 IP,不是内网的。端口别用太特殊的,比如 80、443 这些,可能被系统占用,用 8000 以上的端口相对安全。还有就是代码别抄错,标点符号要用英文的,中文的会报错,小编刚开始就犯过这错,找了半天才发现。
其实搭建 TCP 服务器真的不难,多试几次就熟练了。新手可以先从简单的代码开始,慢慢加功能,遇到问题别慌,网上搜搜错误提示,大部分问题都有解决办法。希望这篇文章能帮到你,动手试试吧!