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

做网站虚拟主机怎么选择朋友圈广告投放价格表

做网站虚拟主机怎么选择,朋友圈广告投放价格表,政府门户网站建设工作汇报,短视频seo关键词前言:本篇讲解的是TCP中建立连接请求的客户端程序和等待接受连接请求的服务端程序 ​ TCP客户端程序开发流程及应用实践 1. socket 模块 socket 又称"套接字",应用程序通常通过"套接字"向网络发出请求或者应答网络请求,使…

前言:本篇讲解的是TCP中建立连接请求的客户端程序和等待接受连接请求的服务端程序

TCP客户端程序开发流程及应用实践

1. socket 模块

socket 又称"套接字",应用程序通常通过"套接字"向网络发出请求或者应答网络请求,使主机间或者一台计算机上的进程间可以通讯。

# 导⼊socket模块
import socket
# 创建客户端socket对象使⽤socket类
socket.socket(AddressFamily, Type)

2.客户端socket类的参数和方法说明: 

参数名说明
AddressFamilyIP地址类型, 分为IPv4和IPv6

Type

传输协议类型

3. 开发客户端需要使用的函数(TCP):

方法名说明
connect和服务端套接字建立连接
send发送数据
recv接受数据
accept()被动接受TCP客户端连接,(阻塞式)等待连接的到来
connect()主动初始化TCP服务器连接
close关闭连接

4.基本语法(五步走)

# 客户端程序
import socket
# 创建socked对象
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 建立与服务器的连接
connect = s.connect_ex(('127.0.0.1', 9090))
# 发送数据
s.send('holly')
# 关闭连接
s.close()

 5.示例代码:

import socket
if __name__ == '__main__':# 1、创建客户端套接字对象#socket.AF_INET--- 使⽤IPv4协议,AF_INET6---使⽤IPv6协议#socket.SOCK_STREAM--- 使⽤TCP协议,SOCK_DGRAM---使⽤UDP协议tcp_client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)# 2、和服务器端套接字建⽴连接(参数必须是⼀个元祖)tcp_client_socket.connect(("127.0.0.1", 8080))# 3、发送数据tcp_client_socket.send('hello, 你好啊'.encode(encoding='utf-8'))# tcp_client_socket.send('hello, 你好啊'.encode(encoding='gbk'))# 4、接收数据recv_data = tcp_client_socket.recv(1024).decode('utf-8')# recv_data = tcp_client_socket.recv(1024).decode('gbk')print(f"接收到的数据为:{recv_data}")# 5、关闭客户端套接字tcp_client_socket.close()

TCP服务器端开发流程及应用实践

 1.客户端socket类的参数和方法说明:

参数名说明
AddressFamilyIP地址类型, 分为IPv4和IPv6

Type

传输协议类型

2.开发服务器端需要使用的函数:

方法名

说明
bind绑定IP地址和端口号
listen设置监听
accept等待接受客户端的连接请求
send发送数据
recv接收数据

3.基本语法(七步走)

# 服务端程序
import socket# 创建socket对象
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# socket.AF_INET表示使用IPv4地址
# socket.SOCK_STREAM表示使用TCP协议# 绑定IP和端口号
s.bind(('127.0.0.1', 9099))
# '127.0.0.1'是本机地址,9099是监听的端口号# 开启监听客户端的请求
s.listen(50)
# 参数50表示最大连接数,即同一时间可以等待的最大未处理连接数量print("服务器启动,等待客户端连接...")# 接受客户端的连接请求
c_socket, c_ipport = s.accept()
# accept()方法阻塞等待客户端连接,连接成功后返回一个新的socket对象c_socket和客户端的地址信息c_ipport
print(f'来自{c_ipport}的客户端已连接')# 接收客户端发送的数据
c_data = c_socket.recv(1024)  # 使用1024字节的缓冲区
# recv(1024)表示最多接收1024字节的数据
print(f'客户端发送来的请求: {c_data.decode()}')
# 使用decode()方法将接收到的字节串数据解码为字符串# 关闭与客户端的连接
c_socket.close()
# 关闭与客户端的连接,释放资源# 关闭服务端socket
s.close()
# 关闭服务端socket,停止监听端口

4.示例代码

import socket
if __name__ == '__main__':# 1、创建服务器端套接字对象tcp_server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)# 2、绑定IP地址与端⼝号, 127.0.0.1---本机IP,默认可以不写tcp_server_socket.bind(("", 8888))# 3、开启监听,默认最⼤连接数为128tcp_server_socket.listen(128)# 4、等待接收客户端连接请求conn_socket, ip_port = tcp_server_socket.accept()print('客户端IP+端⼝:', ip_port)# 5、接收数据recv_data = conn_socket.recv(1024)print('接收到的数据:', recv_data.decode())# 6、发送数据conn_socket.send("客户端的数据已经收到了".encode())# 7、关闭套接字,释放资源conn_socket.close()tcp_server_socket.close()

总结示例代码:

客户端代码

# 客户端程序
import socket  # 导入socket模块,用于创建和管理网络连接# 创建socket对象
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# socket.AF_INET表示使用IPv4地址
# socket.SOCK_STREAM表示使用TCP协议# 建立与服务器的连接
connect = s.connect_ex(('127.0.0.1', 9099))
# connect_ex()方法用于建立连接,返回值为0表示连接成功,非0表示连接失败
# '127.0.0.1'是服务器的IP地址,9099是服务器监听的端口号# 检查连接是否成功
if connect == 0:print("连接成功")# 发送数据s.send('holly'.encode())  # 将字符串编码为字节串后发送# send()方法用于发送数据,需要传入字节串类型的数据
else:print(f"连接失败,错误码: {connect}")# 关闭连接
s.close()  # 关闭socket连接,释放资源

服务端代码

# 服务端程序
import socket# 创建socket对象
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# socket.AF_INET表示使用IPv4地址
# socket.SOCK_STREAM表示使用TCP协议# 绑定IP和端口号
s.bind(('127.0.0.1', 9099))
# '127.0.0.1'是本机地址,9099是监听的端口号# 开启监听客户端的请求
s.listen(50)
# 参数50表示最大连接数,即同一时间可以等待的最大未处理连接数量print("服务器启动,等待客户端连接...")# 接受客户端的连接请求
c_socket, c_ipport = s.accept()
# accept()方法阻塞等待客户端连接,连接成功后返回一个新的socket对象c_socket和客户端的地址信息c_ipport
print(f'来自{c_ipport}的客户端已连接')# 接收客户端发送的数据
msg = ''
while True:c_data = c_socket.recv(1)  # 使用1024字节的缓冲区print(f'客户端发送来的请求: {c_data.decode()}')msg += c_data.decode()if len(c_data)==0:break# recv(1024)表示最多接收1024字节的数据
# print(f'客户端发送来的请求: {c_data.decode()}')
print(msg)
# 使用decode()方法将接收到的字节串数据解码为字符串# 关闭与客户端的连接
c_socket.close()
# 关闭与客户端的连接,释放资源# 关闭服务端socket
s.close()
# 关闭服务端socket,停止监听端口

分别运行客户端和服务端

客户端输出结果

服务端输出结果

    http://www.dtcms.com/wzjs/290796.html

    相关文章:

  1. 资阳网站推广新闻最新头条10条
  2. 人人做网站2024北京又开始核酸了吗今天
  3. 网站制作公司 深圳网站注册域名
  4. 想接网站自己做百度上海分公司
  5. 网站平台建设调研报告aso优化什么意思是
  6. 做网站需要什么人浙江企业seo推广
  7. 阿里云服务器做网站网站建设策划书范文
  8. 大连百度推广代理商新手做seo怎么做
  9. 网站登录窗口怎么做软文写作公司
  10. 汕头网站建设系统百度广告投放
  11. css+div网站模板ip域名查询网
  12. app开发公司推荐安徽创逸科技有限公司关键词优化需要从哪些方面开展
  13. 建网站盈利的几种方式投放广告
  14. wordpress有哪些好模版长沙网站优化培训
  15. 90设计网站是不是没有视频模板注册推广赚钱一个40元
  16. 青岛队建网站域名查询138ip
  17. wordpress仿站教程+vipsem优化
  18. 什么是网站规划专业seo站长工具全面查询网站
  19. 做网站只开发手机端可不可以产品推广计划方案
  20. 杭州高端网站建设到蓝韵网络百度导航2023年最新版
  21. 做招标网站 如何网络推广营销软件
  22. 网站开发公司人员配备百度seo优化排名
  23. 欧美模板网站建设网上广告怎么推广
  24. 网站站点建设分为时事新闻热点
  25. 个人网站 商业北京官方seo搜索引擎优化推荐
  26. 服装印花图案网站海外市场推广方案
  27. 怎样进行网站后台管理怎么优化标题和关键词排名
  28. 哪个网站做批韩国护肤品批发朋友圈广告30元 1000次
  29. 内部网站建设要求深圳产品网络推广
  30. 做网站的基本功网站seo批量查询工具