Python学习:网络编程'TCP'和'UDP'

网络编程:计算机之间做数据交换
客户端:前端
服务端:
如何将数据发送到服务端
服务端数据如何下发给客户端

网络编程三要素:
 ip地址:计算机在网络上的位置
 端口号:应用程序
 协议:传输的方式,对话方式
  TCP:需要建立连接,速度慢,可靠安全{打电话}
  UDP:不需要连接,速度快,不可靠不安全{只管发(发短信)不管对方有没有收到}

TCP:

'''
client:客户端
TCP:必须建立连接

'''

import socket
# 创建socket对象:指定传输协议
# (AF_INET:IPV4   SOCK_STREAM:TCP协议)
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
# 建立连接:发送连接请求
s.connect(('10.8.156.24',8000))
# 发送数据
while True:
    data = input('我:')
    s.send(data.encode())
    data1 = s.recv(1024)
    print('她:',data1.decode())
    if data1 == '再见':
        break
'''
server:服务端
'''
import socket
# 创建socket对象
s= socket.socket(socket.AF_INET,socket.SOCK_STREAM)
# 绑定IP地址和端口号
s.bind(('10.8.156.24',8000))
# 监听
s.listen(1)
# 同意连接请求
s1,addr = s.accept()
#recive 接收数据
while True:
    data = s1.recv(1024)
    print('她:',data.decode())
    data1 = input('我:')
    s1.send(data1.encode())
    if data1 == '再见':
        break

UDP:

import socket

# 创建socket对象  SOCK_DGRAM:udp协议
s = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
# 发送数据
s.sendto('下课下课'.encode(),('10.8.156.24',8000))
import socket

# 创建socket对象  SOCK_DGRAM:udp协议
s = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
#
s.bind(('10.8.156.24',8000))
while True:
    # data = s.recv(1024)
    data,addr = s.recvfrom(1024)#可以看到IP地址
    print(addr,':',data.decode())

猜你喜欢

转载自blog.csdn.net/qq_33722246/article/details/83268118