python socket 书籍_python SOCKET编程基础入门

本文介绍了Python中UDP编程的基本步骤,包括客户端和服务器端的实现。通过示例代码展示了如何建立socket,绑定IP和端口,接收和发送数据。在服务器端,使用`recvfrom`接收数据并发送响应。客户端则负责发送数据并接收服务器的反馈。文章还提供了源码文件供读者参考学习。
摘要由CSDN通过智能技术生成

一、UDP编程

1.客户端Client:发起访问的一方。

2.服务器端

3.server段编程

(1)建立socket,socket是负责具体通信的一个实例

(2)绑定,为创建的socket指派固定的端口和IP地址

(3)接受对方发送内容

(4)给对方发送反馈,此步骤为非必须步骤

4.Client端编程

(1)建立通信的socket

(2)发送内容到指定服务器

(3)接受服务器给定的反馈内容

5.模拟一下这个过程

(1)我们先建立一个服务器的函数

#服务器案例

import socket

#模拟服务器的函数

def serverFunc():

#1.建立socket

#socket.AF_INET:使用IPV4协议族

#socket.SOCK_DGRAM:使用UDP通信

sock = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)

#2.绑定ip和port

#127.0.01:这个ip地址代表的是机器本身

#7852:随机指定的端口号

#地址是一个tuple类型,(ip.port)

addr = ("127.0.0.1",7852)

sock.bind(addr)

#接受对方消息

#等待方式为死等,没有其他可能性

#recvfrom接受的返回值是一个元组,前一项表示数据,后一项表示地址

#参数的含义是缓冲区大小

#rst = sock.recvfrom(500)

data,addr = sock.recvfrom(500)

print(data)

print(type(data))

#发送过来的数据是bytes格式,必须通过解码才能得到str格式内容

#decode默认参数是utf8

text = data.decode()

print(type(text))

print(text)

#给对方反馈的消息

rsp = "I am very hungry now"

#发送的数据需要编程成bytes格式

#默认时utf8

data = rsp.encode()

sock.sendto(data,addr)

if __name__ == "__main__":

print("Start Server")

serverFunc()

print("End Server")

(2)然后创建一个客户端的函数

import socket

def clientFunc():

sock = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)

text = "you are very cool"

#发送的数据必须是bytes格式

data = text.encode()

#发送

sock.sendto(data,("127.0.0.1",7852))

data,addr =sock.recvfrom(200)

data = data.decode()

print(text)

if __name__ == "__main__":

print("Start Client")

clientFunc()

print("End Client")

(3)我们先启动服务器端函数

出现如下图像,它是创建了一个sock,然后自己绑定到127.0.0.1:7852,运行到sock.recvfrom(500)这里死等客户端发消息

6deeb673b5fdd9c978c230ac03abcd27.png

(4)再启动客户端函数

出现如下发送编码后的​text内容到服务器(127.0.0.1:7852),服务器成功接收后返回you are cool这句话。

8dfbe7e318a307483d810106f5912c0c.png

(5)我们再看服务器的函数那里

接受了bytes格式的字符串,并打印出来了,然后再解码打印出来,最后把you are cool返回​客户端。

3a29ac64f6dfa453c19b7e8722ea1eb1.png

(6)这里有个地方没有办法:因为我们在一台电脑上做的测试,所以相当于自言自语,​不如在两台电脑上进行试验。​

二、源码

D33_1_ServerProgramme.py

D33_2_ClientProgramme.py

以上就是python SOCKET编程基础入门的详细内容,更多关于python SOCKET编程的资料请关注脚本之家其它相关文章!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值