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

西乡做网站多少钱网络推广运营主要做什么

西乡做网站多少钱,网络推广运营主要做什么,做短视频的网站收益,医疗网站建设前言:本篇讲解的是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/500813.html

    相关文章:

  1. 男女生做内个的网站什么是sem
  2. 网站建设互联seo搜索排名优化
  3. 网站建设与规划心得体会中国最新消息新闻
  4. 重庆做网站公司排名cilimao磁力猫搜索引擎
  5. 优惠券个人网站怎么做简单网页制作成品免费
  6. 企业网站建设框架图个人如何注册网址
  7. 中国和城乡建设部网站首页百度关键词挖掘工具
  8. 软件开发工具排行关键词搜索优化
  9. 网站建设的难处最新国际新闻10条
  10. 网站建设功能文案本周国内新闻
  11. 网站建设公式新闻头条最新消息30字
  12. 连云港企业做网站四平网络推广
  13. 网站后台登入不了出现验证码错误网站媒体推广
  14. 百度app站外seo是什么
  15. 做网站卖广告挣几百万广州seo技术外包公司
  16. 压缩wordpress空间西安seo排名扣费
  17. 做网站应该学什么专业代哥seo
  18. 深圳网站设计张兵黑科技引流推广神器
  19. 贵阳网站建设费用免费网站入口在哪
  20. 网上购物商城网站建设网络推广的具体方式
  21. 青岛市网站制作建站公司哪家好
  22. 荆门哪里做网站个人网站推广怎么做
  23. 现在还做自适应网站如何建立网站服务器
  24. 初中生做网站挣钱seo流量
  25. 做网站挣钱不深圳最新疫情
  26. 极简办公ppt模板下载seo网站推广专员招聘
  27. 网站新功能演示用什么技术做的新网站如何快速收录
  28. 广州市公需课在哪个网站可以做做企业推广的公司
  29. 做营销网站女教师网课入侵录屏冫
  30. linux网站开发小红书搜索指数