基于python的tcp socket通信

本文介绍了用Python开启Socket通信之旅,包含服务端、客户端的搭建及通信过程。指出用Python编写Socket通信程序十分简便,其他文件操作也如此,凸显了Python便捷的特点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原文http://www.netfairy.net/?post=157

0x01 开始python之旅

服务端

要用socket通信,我们首先要导入socket这个模块
import socket

然后设置连接的一些信息,我们是我们是基于TCP的通信,所以
sock=socket.socket(socket.AF_INET,socket.SOCK_STREAM)

然后将sock与服务端的IP和端口绑定
sock.bind(("127.0.0.1",8888))

到这里一切准备就绪,开始监听
sock.listen(8)
8表示最大连接数量。服务端的代码就完成了,总共5行,如果用C语言写的话大概20行左右。。。

客户端

客户端更加简单了,首先导入socket模块
import socket

然后设置sock的一些信息
sock=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
现在就可以连接服务器了

sock.connect(("127.0.0.1",8888))
总共三行代码,连接成功后,双方就可通信了。

开始通信

开始通信前,服务器首先接受客户端的连接


csock,caddr=sock.accept()
csock以后就用来和客户端通信,caddr是它的地址信息。比如服务器给客户端发信息:

csock.send("hello client!!!")
客户端接受发来的信息

sock.recv(1024)
这样就完成了一次通信。。。

0x02 后记

可以看到,用python写socket通信程序是非常简便的,不单如此,其他的如文件操作也是,python就是为便捷而生,enjoy it !!!

服务端: 服务端程序启动之后弹出窗口,管理员输入IP、端口等信息之后点击启动按钮,服务器启动,服务端窗口自动关闭,之后跳转至服务端信息展示界面,包含用户上线提醒,用户发送信息记录展示。 客户端: 客户端程序启动之后,需要弹出登录界面,当用户成功输入昵称、密码、端口、IP等信息(考虑到用户权限问题,本程序在后台默认有固定IP、端口,)用户只需输入昵称、密码(密码用于后期连接数据库时用来匹配数据库存储的用户信息)。当用户成功输入用户名。昵称、密码等信息客户端登录成功跳转至用户进行端对端的聊天界面。聊天界面大致分为聊天记录展示界面,在线好友信息界面以及用户发送信息处。用户在发送消息处输入想要发送的文本消息,选择在线好友中的好友昵称点击选择好友即可选中您要发给的好友昵称,然后点击发送按钮,即可将消息发送给所选择的好友,同时将信息展示在自己的聊天界面中的聊天记录处 2.2. 功能要求 §2.2.1服务端功能要求: 当管理员输入服务器IP、以及端口等信息之后点击启动按钮之后,服务端正常启动之后,需要保持一直开机状态满足所有用户不论在何时登录之后都能进行与好友之间的聊天交流等,同时服务端还要满足监控用户登录信息,不同用户登录客户端之后,服务器后台能够看到某某客户上线了等提示信息。用于服务端查看好友在线状态同时作为服务器,还要能够监控用户的聊天记录,用于监控用户不能发送一些不利言论,从而将其用户及时作封号处理。阻止其传播一些不健康的言论。 §2.2.2客户端要求: 用户在登录界面输入昵称、密码等信息之后成功登录之后,进行窗口之间的跳转,由登录窗口跳转至进行用户之间的聊天窗口,之前的登录窗口也要随之消失。在聊天窗口之中用户需要根据好友在线信息情况选择自己想要与其进行聊天的对象。用户点击在线好友的昵称点击选择好友即可向该好友发送信息,发送成功之后同时要将其发送的信息以及时间信息展示在自己的窗口之中,同时也要在指定好友的窗口之中有所显示以及时间信息
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值