使用python实现套接字

本文介绍了如何使用Python编写TCP客户端和服务器程序。TCPClient.py作为客户端,创建套接字并连接到服务器,发送用户输入并显示服务器响应。TCPServer.py作为服务器,接收并响应客户端连接,将接收到的字符串转为大写后回传。通过访问特定URL,浏览器可展示内容,控制台显示正确响应。
摘要由CSDN通过智能技术生成
  • TCP套接字编程

  • 客户端程序TCPClient.py创建一个TCP套接字,然后向指定服务器地址和端口发起连接,等待服务器连接后,再将用户输入的字符串通过套接字发送,其后将服务器返回的消息显示出来。
    服务端程序TCPServer.py一直保持一个TCP欢迎套接字,可接收任何客户端的连接请求。在接收到客户端的连接请求后,创建一个新的TCP连接套接字用于单独与该客户通信,同时显示客户端地址和端口。在接收到客户端发来的字符串后,将其改为大写,然后向客户端返回修改后的字符串。 最后,关闭TCP连接套接字。

#import socket module  
from socket import *  
serverSocket = socket(AF_INET, SOCK_STREAM)  
#Fill in start   
HOST = ''  
PORT = 1234  
BUFSIZE = 1024  
ADDR = (HOST, PORT)  
serverSocket.bind(ADDR)  
serverSocket.listen(1)  
#Fill in end  
  
while True:  
   #Establish the connection  
    print('Ready to serve...')  
    connectionSocket, addr = serverSocket.accept()  
    try:  
        message = connectionSocket.recv(BUFSIZE)  
        print(message)                     #message是一个get的http请求报文  
       filename = message.split()[1]      #filename = /Hel
HTTP协议是应用层协议,常用于Web应用程序之间的通信。在Python中,可以使用套接字编程实现HTTP协议。以下是一些示例代码,展示如何使用Python套接字编程实现HTTP协议。 1. 发起HTTP请求 ```python import socket HOST = 'www.example.com' PORT = 80 BUFFER_SIZE = 1024 # 创建套接字 client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 连接服务器 client_socket.connect((HOST, PORT)) # 发送HTTP请求 request = "GET / HTTP/1.1\r\nHost: {}\r\n\r\n".format(HOST) client_socket.send(request.encode()) # 接收响应 response = client_socket.recv(BUFFER_SIZE) # 打印响应 print(response.decode()) # 关闭套接字 client_socket.close() ``` 2. 构建HTTP响应 ```python import socket HOST = '' PORT = 8080 BUFFER_SIZE = 1024 # 创建套接字 server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 绑定地址和端口号 server_socket.bind((HOST, PORT)) # 监听连接请求 server_socket.listen(1) # 处理连接 while True: # 接受连接请求 client_socket, client_address = server_socket.accept() # 接收HTTP请求 request = client_socket.recv(BUFFER_SIZE) # 构建HTTP响应 response = "HTTP/1.1 200 OK\r\nContent-Type: text/html\r\n\r\n<html><body><h1>Hello World!</h1></body></html>" # 发送HTTP响应 client_socket.send(response.encode()) # 关闭套接字 client_socket.close() ``` 以上代码只是简单地演示了如何使用Python套接字编程实现HTTP协议。实际上,HTTP协议有许多复杂的细节和规则,需要更加详细的学习和理解。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值