时间:2021-05-23
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 socketdef 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)这里死等客户端发消息
(4)再启动客户端函数
出现如下发送编码后的text内容到服务器(127.0.0.1:7852),服务器成功接收后返回you are cool这句话。
(5)我们再看服务器的函数那里
接受了bytes格式的字符串,并打印出来了,然后再解码打印出来,最后把you are cool返回客户端。
(6)这里有个地方没有办法:因为我们在一台电脑上做的测试,所以相当于自言自语,不如在两台电脑上进行试验。
D33_1_ServerProgramme.py
D33_2_ClientProgramme.py
https://github.com/ruigege66/Python_learning/blob/master/D33_1_ServerProgramme.py
https://github.com/ruigege66/Python_learning/blob/master/D33_2_ClientProgramme.py
以上就是python SOCKET编程基础入门的详细内容,更多关于python SOCKET编程的资料请关注其它相关文章!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
这是用来快速学习PythonSocket套接字编程的指南和教程。Python的Socket编程跟C语言很像。Python官方关于Socket的函数请看http:
pandas是一个Python语言的软件包,在我们使用Python语言进行机器学习编程的时候,这是一个非常常用的基础编程库。本文是对它的一个入门教程。panda
这篇文章将向大家展示Java编程利用socket多线程访问服务器文件代码示例,如果您想先了解Java多线程socket编程的基础知识,可以看下这篇文章:Java
本文实例讲述了Python网络编程使用select实现socket全双工异步通信功能。分享给大家供大家参考,具体如下:在前面一篇《Python网络编程之TCP套
零基础学Java还是Python开发?没有基础想学习一门编程语言,不知道学Java好还是学Python更合适,在选择学Java编程语言还是Python编程语言之