7-3 网络编程常考题

Posted WinvenChang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了7-3 网络编程常考题相关的知识,希望对你有一定的参考价值。

了解 socket编程对于学习框架原理比较重要

一、常见网络编程题

TCP/UDP socket编程;HTTP编程
1.了解TCP编程的原理
2.了解UDP编程的原理
3.了解如何发送HTTP请求

二、TCP socket编程原理?

了解TCP socket编程原理
1.如何使用socket模块
2.如何建立TCP socket客户端和服务端
3.客户端和服务端之间的通信

流程图:
·
编写tcp_client.py文件:

import socket

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(('127.0.0.1', 8888))
s.sendall(b'Hello World')
data = s.recv(1024)
print(data.decode())   # 这里将字节解码为字符串
s.close()

编写tcp_server.py文件

import socket
import time

s = socket.socket()
s.bind(('', 8888))
s.listen()

while True:
	client, addr = s.accept()  # return conn, addr
	print(client)
	time_str = time.ctime(time.time()) + '\\r\\n'
	client.send(time_str.encode())  # send 参数 encode('utf8')
	client.close()

先执行tcp_server.py,然后执行tcp_client.py
在这里插入图片描述

三、使用socket发送HTTP请求

如何使用socket发送HTTP请求
1.使用socket接口发送HTTP请求
2.HTTP建立在TCP基础之上
3.HTTP是基于文本的协议

代码示例:

import socket

s = socket.socket()
s.connect(('www.baidu.com', 80))

http = b"GET / HTTP/1.1\\r\\nHost: www.baidu.com\\r\\n\\r\\n"
s.sendall(http)
buf = s.recv(1024)
print(buf)
s.close()

运行结果:
在这里插入图片描述

以上是关于7-3 网络编程常考题的主要内容,如果未能解决你的问题,请参考以下文章

7-5 Python并发网络库常考题

7-5 Python并发网络库常考题

5-6 Python 函数式编程常考题

7-1 网络协议TCP和UDP面试常考题

7-1 网络协议TCP和UDP面试常考题

3-4 Python异常机制常考题