'''
基于socket实现的TCP服务端
'''import socket
# 建立socket对象
server_socket=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
# 如果服务器是一次性的,如果服务器结束后马上重新启动会出现一个错误,原因是地址和端口没有被释放
# OSError: [Errno 48] Address already in use
# 如果想马上释放,要设置一下socket选项
server_socket.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,True)
# 绑定IP和端口,如果在绑定IP时没有给定IP,默认是绑定本地IP
server_socket.bind(('',7777))
# 设置监听(最大监听数),设置完后服务端会进入被动模式,不能主动连接客户端,只能被动地等待客户端的连接
server_socket.listen(128)
# 等待客户端连接,连接上后,函数会返回客户端的Socket对象和地址信息
client_socket,ip_port=server_socket.accept()
print(f'客户端{ip_port[0]}使用端口{ip_port[1]}连接成功...')
# 接收客户端数据
data=client_socket.recv(1024)
# 查看客户端发送的数据长度
if len(data)!=0:data=data.decode('gbk')print(f'客户端{ip_port[0]}使用端口{ip_port[1]}发送是数据是{data}')
else:print(f'客户端{ip_port[0]}使用端口{ip_port[1]}关闭了连接')# 给客户端发送数据
data='你好'.encode('gbk')
client_socket.send(data)
# 关闭客户端
client_socket.close()
# 关闭服务端
server_socket.close()

Python基于socket实现的TCP服务端相关推荐

  1. 基于Socket实现客户端与服务端通讯

    基于Socket实现客户端与服务端通讯 socket 概述 Socket,套接字就是两台主机之间逻辑连接的端点.TCP/IP协议是传输层协议,主要解决数据如何 在网络中传输,而HTTP是应用层协议,主 ...

  2. windows Socket编程之TCP服务端与客户端

    在前面的文章中有一篇讲到了命名管道通信,它是创建一根管道来进行进程之间或网络之间通信的.但是它有些缺陷,比如说效率较低等.而从这篇文章开始将介绍socket编程.socket是通过TCP,UDP,IP ...

  3. Python基于socket实现的TCP客户端

    ''' 基于socket实现的TCP客户端 '''import socket# 建立socket对象 # 参数一表示IP地址类型(AF_INET为IPV4,AF_INET6为IPV6),参数二表示连接 ...

  4. python学习随堂笔记—TCP服务端与客户端

    思想: 1. 客户端 向服务端 发起连接 2. 服务端 接到请求,双方建立连接 3. 客户端 向 服务端发消息 4. 服务端 应答客户端 5. 服务端 与客户端循环读写操作 6. 操作完成之后客户端发 ...

  5. Python高级——用多线程实现TCP服务端

    需求 1.创建一个TCP服务器接收服务端发送的信息并给予答复 2.以多线程方式实现接收客户端信息 3.间客户端发送的信息解码输出 思路分析 1.创建一个TCP客户端套接字 2.写一个接收消息的方法,可 ...

  6. php cannot bind port to socket,PHP基于socket实现客户端和服务端通讯功能

    本文主要介绍了PHP基于socket实现的简单客户端和服务端通讯功能,可实现服务端接收客户端发送的字符串进行翻转操作后返回客户端的功能,需要的朋友可以参考下 服务端: set_time_limit(0 ...

  7. W5500开发笔记 | 02 - 使用W5500 Socket API 建立TCP服务端、TCP客户端

    系列文章 W5500开发笔记 | 01- W5500 Socket API的说明 一.实现思路 W5500内部是硬件TCP/IP协议栈,对外(MCU)只是提供了操作socket的能力,内部支持8个独立 ...

  8. php winform通信,C# Winform 通过Socket实现客户端和服务端TCP通信

    操作界面如下: 1.声明Socket 第一个参数:寻址方式,第二个参数:传输数据的方式,第三个参数:通信协议 Socket socket = new Socket(AddressFamily.Inte ...

  9. Python基于socket实现的多任务版TCP服务端

    ''' 基于socket实现的多任务版TCP服务端 ''' import socket import threadingdef client_task(client_socket,ip_port):p ...

最新文章

  1. 基于人工智能方法的手写数字图像识别_【工程分析】基于ResNet的手写数字识别...
  2. 安装apache服务出错,无法启动此程序,因为计算机中丢失VCRUNTIME140.dll 尝试重新安装此程序以解决此问题...
  3. 06丨MongoDB基本操作
  4. 每天一道LeetCode-----计算n的阶乘末尾有多少个0
  5. tracert和traceroute使用
  6. ATC计算机会议,重点实验室张峰博士论文被国际系统领域顶会USENIX ATC 2020接收
  7. TypeScript教程
  8. Echarts在同一网页按顺序展示多图
  9. 如何建立网页快捷方式linux,怎么创建linux命令”快捷方式”或”自定义命令”...
  10. MySQL恢复备份读书笔记
  11. 2014年6月5日 深圳 IBM 安全解决方案会议通知
  12. C语言小游戏-扫雷-源代码
  13. C# 创建HttpServer
  14. 网吧客户信息查询c语言,网吧经营管理之客户定位
  15. java获取时分秒毫秒_Calendar获取年月日时分秒毫秒
  16. 【精】HDFS Balancer原理、参数详解
  17. 微信小程序使用template标签实现五星评分
  18. vim显示行号的设置方法
  19. linux python 例子,初学python案例 字典
  20. 西安计算机软件行业薪水,西安今夏求职平均薪酬为每月8295元 这两个行业竞争最激烈...

热门文章

  1. 成功解决AttributeError: 'MapDataset' object has no attribute 'group_by_window'
  2. DL之Perceptron:Perceptron感知器(感知机/多层感知机/人工神经元)的简介、原理、案例应用(相关配图)之详细攻略
  3. 数据科学-通过数据探索了解我们的特征
  4. BootStrap Table - JS事件绑定
  5. HashSet源码分析 jdk1.6
  6. 网络传输 中文乱码问题
  7. fekit前端代码模块化工具
  8. 切换debian8系统语言环境
  9. 关于JQUery.parseJSON()函数的知识札记
  10. 转用特征码秒杀各程序语言按钮事件