当前位置: 首页 > news >正文

网站建设注册什么公司好源码屋官网

网站建设注册什么公司好,源码屋官网,江西住房和城乡建设网站,网站 自适应文字大小怎么做用Python搭建简易的CS架构并通信 文章目录 用Python搭建简易的CS架构并通信前言一、基本结构二、代码编写1.服务器端2.客户端 三、效果展示总结 前言 本文主要是用Python写一个CS架构的东西,包括服务器和客户端。程序运行后在客户端输入消息,服务器端会…

用Python搭建简易的CS架构并通信


文章目录

  • 用Python搭建简易的CS架构并通信
  • 前言
  • 一、基本结构
  • 二、代码编写
    • 1.服务器端
    • 2.客户端
  • 三、效果展示
  • 总结


前言

本文主要是用Python写一个CS架构的东西,包括服务器和客户端。程序运行后在客户端输入消息,服务器端会收到这条消息。


一、基本结构

需要新建两个py文件,一个用来运行服务器端,一个用来运行客户端。进行测试时,需要保证服务器端和客户端都在运行。


二、代码编写

1.服务器端

代码如下:

import sockethost = 'localhost'
port = 9999sockaddr = (host, port)
sk = socket.socket()
sk.bind(sockaddr)
sk.listen(100)while True:conn, addr = sk.accept()while True:try:data = conn.recv(1024)except Exception as ex:print('已断开连接')breakelse:conn.sendall(data+bytes(',已收到'.encode('utf-8')))print(data)

可能看不懂的代码解释如下:

  1. import socket:导入Python内置的socket模块,该模块提供了与网络通信相关的功能。
  2. host = ‘localhost’:设置服务器的地址为 ‘localhost’。localhost 表示本机,即运行此程序的计算机。
  3. port = 9999:设置服务器的端口号为 9999。端口号是用来标识网络中进程的逻辑地址。
  4. sockaddr = (host, port):将服务器的地址和端口号组合成一个元组(socket地址),用于后续的socket操作。
  5. sk = socket.socket():创建一个socket对象(sk),用于网络通信。
  6. sk.bind(sockaddr):将socket地址绑定到socket对象上,这样socket就可以在指定的地址和端口上接收连接。
  7. sk.listen(100):将socket设置为监听模式,参数100表示最大等待连接队列的长度。
  8. conn, addr =sk.accept():调用socket对象的accept()方法,等待并接受一个客户端的连接请求。返回值是一个包含新连接的socket对象(conn)和客户端的地址信息(addr)的元组。
  9. data =conn.recv(1024):调用新连接的socket对象(conn)的recv()方法,接收客户端发送的数据,参数1024表示一次最多接收1024字节的数据。
  10. conn.sendall(data+bytes(‘,已收到’.encode(‘utf-8’))):调用新连接的socket对象(conn)的sendall()方法,向客户端发送数据。这里将接收到的数据和字符串",已收到"(已转换为字节串)拼接起来发送。

2.客户端

代码如下:

import sockethost = 'localhost'
port = 9999sockaddr = (host, port)
ct = socket.socket()
ct.connect(sockaddr)while True:message = input('请输入要发送的信息:')ct.sendall(bytes(message, 'utf-8'))data = ct.recv(1024)print(data.decode('utf-8'))

可能看不懂的代码解释如下:

  1. import socket:导入Python内置的socket模块,该模块提供了与网络通信相关的功能。
  2. ct =socket.socket():创建一个socket对象(ct,通常客户端的socket对象命名为ct或client_socket),用于网络通信。
  3. ct.connect(sockaddr):调用socket对象的connect()方法,尝试连接到指定的服务器地址和端口。
  4. ct.sendall(bytes(message,‘utf-8’)):调用socket对象的sendall()方法,将用户输入的消息(转换为字节串)发送给服务器。这里使用了UTF-8编码。
  5. data =ct.recv(1024):调用socket对象的recv()方法,接收服务器发送的数据,参数1024表示一次最多接收1024字节的数据。
  6. print(data.decode(‘utf-8’)):将接收到的服务器数据(字节串)解码为字符串,并打印出来。这里使用了UTF-8编码。

三、效果展示

在这里插入图片描述


总结

这段代码实现了一个简单的TCP客户端,它连接到本地主机的9999端口,并在循环中不断接收用户的输入,将输入的消息发送给服务器,然后接收并打印服务器的回复。循环会一直进行,直到程序被手动中断。

http://www.yayakq.cn/news/721701/

相关文章:

  • 网站开发的完整流程甘肃省建设工程安全质量监督局网站
  • 寻找设计师的网站四川建设监理协会网站
  • 天猫商城网站风格WordPress开启me
  • 网站建设与管理教案营销软文范例500
  • 深圳市国外网站建设网站优化三要素
  • php网站开发实例教材增城微网站建设
  • 做ppt高手 一定要常去这八个网站进销存软件排行榜前十名
  • 网页类网站网站的推广方式
  • 做淘宝要网站建地方门户网站
  • 枞阳美好乡村建设办公窒网站wordpress大前端2.0
  • 用wordpress仿站适合女生的十大热门专业
  • 祥云建站平台淘宝客网站开发视频教程
  • 哪个网站可以做担保交易平台网站在线优化工具
  • 南昌制作手机网站wordpress 个人博客模板
  • 手机h5案例 网站生鲜电商网站建设策划书
  • 网站开发需要会什么软件wordpress 离线编辑器
  • 企业官网怎么做flash网站做seo优化好不好
  • 网站推广公司排名怎么申请一个商城网站.
  • 类似建设通的网站赣州企业网站建设推广
  • 北京建设网站的网站建设教学后记
  • 接推广网站品牌宣传型网站
  • 网站开发软件h开头的长春站建筑
  • 行知智网站开发做网站的分辨率要多大
  • 东城专业网站建设公司二维码生成器带logo
  • 专业做电子的外贸网站企业网站规划方案
  • 西安专业做网站wordpress 阅读次数
  • 厦门网站制作开发收费网站开发投标书
  • 网站 攻击 刷流量重庆网站建设帝维科技
  • 网站快照不更新wordpress营销插件
  • 网站的二级目录是什么中国建设银行网站评价