**

TCP客户端与服务端开发

**

客户端

import socket# 创建客户端套接字对象
# 超数1 :iPv4(ip协议版本)
# 参数2:选择协议(socket.SOCK_STREAM==》协议)
tcp_client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 和服务套接建立连接
# 参数:元组(有两个元素)1,服务器ip,2。服务器端口号
tcp_client_socket.connect(("192.168.1.3", 8080))# 发送数据(数据必须是二进制)
data = "我是黎宁"
data = data.encode("utf-8")
tcp_client_socket.send(data)
# 接收数据
# 参数:接收数据的大小(字节大小)
recv_data = tcp_client_socket.recv(1024)
recv_data = recv_data.decode("utf-8")
print(recv_data)
# 关闭客户端
tcp_client_socket.close()

服务端多任务

import socket
import multiprocessingdef handler_client_request(client_socket):"""处理客户端请求"""while True:# 5.接收数据# 接收数据的大小(字节)client_data = client_socket.recv(1024)# 如果接收到数据长度为0 则证明客户端关闭if len(client_data) == 0:print("客户端关闭")break# 对二进制数据解码client_data = client_data.decode()print(client_data)# 6.发送数据send_data = "你好".encode()client_socket.send(send_data)client_socket.close()def main():# 1.创建服务器端接字对象# 超数1 :iPv4(ip协议版本)# 参数2:选择协议(socket.SOCK_STREAM==》协议)tcp_server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)# 端口复用设置 一旦服务端关闭 端口立即释放# setsockopt 设置socket选项# 参数1socket 选项列表(SOL)# 参数2 地址复用# 参数3 True 开启选项,False 不开启,默认不开启tcp_server_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, True)# 2.绑定端口号# 参数:元组(两个元素)1,服务器ip,2服务器端口号# 不写默认默认本机iptcp_server_socket.bind(("", 8080))# 3.设置监听# 参数最大监听个数128tcp_server_socket.listen(128)while True:# 4.阻塞等待接收客户端的连接请求# 返回值是一个元组(两个元素)元素1,和客户端通讯的socket#                          2.客户端的地址信息(ip,端口)# 通过拆包语法,我们分别获取元素1和元素2client_socket, client_addr = tcp_server_socket.accept()# 创建子进程sub_process = multiprocessing.Process(target=handler_client_request, args=(client_socket,))sub_process.start()# 7.关闭套节字client_socket.close()tcp_server_socket.close()if __name__ == "__main__":main()



TCP客户端与服务端开发相关推荐

  1. Esp8266学习之旅⑧ 你要找的8266作为UDP、TCP客户端或服务端的角色通讯,都在这了。(带Demo)

    本系列博客学习由非官方人员 半颗心脏 潜心所力所写,不做开发板.仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 序号 SDK版本 内容 链接 1 nonos2.0 搭建 ...

  2. linux epoll机制对TCP 客户端和服务端的监听C代码通用框架实现

    1 TCP简介 tcp是一种基于流的应用层协议,其"可靠的数据传输"实现的原理就是,"拥塞控制"的滑动窗口机制,该机制包含的算法主要有"慢启动&quo ...

  3. java基础—网络编程——TCP客户端与服务端交互

    import java.net.InetAddress; import java.net.Socket; import java.net.UnknownHostException; import ja ...

  4. TCP客户端、服务端程序开发

    套接字类似于通讯工具 # 客户端 import socketif __name__ == '__main__':# 1.创建客户端套接字对象tcp_client_socket = socket.soc ...

  5. 简易TCP客户端和服务端的实现

    文章目录 1 客户端的实现 2 服务端的实现 1 客户端的实现 用Socket API建立简易TCP客户端: 建立一个socket. 连接服务器 connect. 接收服务器信息 recv. 关闭so ...

  6. Go tcp客户端、服务端编程

    内容参考net包,net包提供了可移植的网络I/O接口,包括TCP/IP.UDP.域名解析和Unix域socket. 虽然本包提供了对网络原语的访问,大部分使用者只需要Dial.Listen和Acce ...

  7. 基于安卓的企业物流管理系统(Android客户端+JavaSSM服务端开发的物流管理APP)

    摘 要 随着互联网的技术的快速发展和无线网络的更新迭代,使4G网络已成为过去式5G网络蓬勃发展.技术的发展,硬件的提高使人们使用智能手机可以更加快速.便捷的浏览信息.获取信息. 本文首先介绍企业物流管 ...

  8. 客户端和服务端简单开发

    今天是第一次写博客,因为最近在学习Java编程,以前没有接触过,学起来也比较困难,在网上看到有大佬说写博客是一种很好的提升自己的方式,所以我也打算把学习到的知道,发布到博客上,方便查阅. 今天学习了客 ...

  9. QTcpSocket客户端和服务端发送图片(或大文件)小Demo

    先看一下效果: 思路: 发图片.大文件与发短字符不大一样. 1.文件和图片通过TCP可能一次发不过去,可能要发很多次.所以我们在发送文件.数据.以及文字最好带上文件的大小. 2.图片转换成文件流的形式 ...

最新文章

  1. 在Linux上编译dotnet cli的源代码生成.NET Core SDK的安装包
  2. C++ 贪吃蛇小游戏
  3. 前端学习(1484):json-server工具使用
  4. Jackson动态处理返回字段
  5. 我的开源项目——Jerry
  6. 【论文分享】ACL 2020 信息抽取任务中的新动向
  7. [渝粤教育] 西安工业大学 数字电子技术基础 参考 资料
  8. Atitit  Uncaught (in promise) SyntaxError Unexpected token in JSON at position 0
  9. jsp java mysql_jsp java mysql
  10. 计算机单机游戏c0005错误,堡垒之夜Epic Games Launcher错误怎么办错误解决方法介绍...
  11. 3D打印切片软件cura使用
  12. 多元线性回归模型矩阵推导(手推带矩阵求导法则)
  13. iOS 10.1发现新漏洞:可绕过“激活锁”强行进入主屏
  14. 尚硅谷SpringCloud2020简单学习记录(个人用)65-73集
  15. 传感器实验——无源蜂鸣器
  16. 用Squid和DNSPod打造自己的CDN详细教程
  17. 2018年上半年信息系统项目管理师考试真题附答案解析(3)
  18. 【思考】冷启动、种子用户的获取和激活
  19. SQLiteSpy下载安装
  20. python3获取网页天气预报信息并打印

热门文章

  1. cad把图形切成两部分_转载一位CAD大神的学习笔记, 初学CAD的人可以看看
  2. BGA焊接可靠性评价指引,为产品质量保驾护航
  3. TMS320F28377S 学习笔记2 BGA封装的焊接
  4. oracle nvl和nvl2的区别
  5. 单片机看门狗c语言,单片机看门狗程序 -解决方案-华强电子网
  6. Redis集群(Cluster)
  7. OpenCv-C++-SURF特征检测
  8. CSS设置文字自动换行
  9. C# 调用Everything查找文件
  10. Python接口测试实战1(下)- 接口测试工具的使用