python+大数据之tcp服务器的创建

python+大数据之tcp服务器的创建,第1张

python+大数据之tcp服务器的创建 python+大数据之tcp服务器的创建 搭建服务器中的简单介绍:

一.进程号和端口号的区别
简单 来说就是进程号是计算机内部进程的标识,而端口号是不同程序之间通信的协议。
例如两个人利用qq进行聊天,qq利用不同端口进行寻找和通信,而qq就是电脑上的进程。(端口号的范围0-1023为固定端口号,1024-65535为动态端口号,可以供用户使用)
二.TCP传输协议的特点
1.面向连接(双方必须建立连接才能进行数据传输)
2.可靠传输(利用发送应答机制,超时重传,错误校验,流量控制和阻塞管理进行管理)
3.TCP服务端程序开发流程

	    3.1创建服务端套接字对象socket
		3.2绑定端口号bind()
		3.3设置监听有主动变为被动接收listen()
		3.4接收客户端的连接请求accpect()
		3.5接收数据recv()
		3.6数据解码(传输的都是二进制的字节流需要解码)decode()
		3.7关闭套接字(先关闭客户端套接字,再关闭服务器套接字)
三.tcp服务器简单演示

import socket

1 创建服务端端套接字对象(买电话tcp_socket)

# 参数1: AF_INET ==> 选择ipv4协议
# 参数2: SOCK_STREAM ==> tcp流式协议
# 参数3: 确定选择一样

tcp_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
2 绑定端口号(给电话绑定地址号码)

# 参数1: 元组(ip地址字符串类型的, 端口号数字类型)
# ip地址: 如果端口号写的是 “” ==> 本机ip地址 ==> 127.0.0.1
# 端口号: 1024-65535都可以

tcp_socket.bind(("", 8080))
3 设置监听(电话设置好了 等待别人给我打电话)

# 把socket套接字从主动套接字(send发送数据的也可以recv接受数据)
# 变成了被动套接字(recv接受数据)
# 参数1: 数字 最大等待连接的数量

tcp_socket.listen(128)
4 等待接受客户端的连接请求(接电话)

# 一但后去连接会受到响应的数据返回(元组)
# 和客户通讯的socket 还有客户的IP地址和端口号

client_socket, client_ip_port = tcp_socket.accept()
print("客户的ip地址和端口号", client_ip_port)
5 接收数据

# 参数: 接受的数据的大小 字节为单位

recv_data = client_socket.recv(1024)
print("网络中获取的数据:", recv_data)
数据解码

# 默认是utf8的解码格式

recv_data = recv_data.decode("gbk")
print("解码后的数据:", recv_data)
6 发送数据
send_data = "我很好".encode("gbk")
client_socket.send(send_data)
7 关闭套接字

# 需要先关闭客户端套接字 再关闭服务端套接字

client_socket.close()
tcp_socket.close()

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5696127.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存