python3 中socket的简单使用

本文介绍了Python3中socket的使用,包括UDP和TCP协议的基础操作。讲解了如何利用socket进行数据发送与接收,创建简单的聊天室以及TCP文件下载的示例。
摘要由CSDN通过智能技术生成

使用工具:

Ubuntu:vim

Ubuntu:Python 3.7

网络调试助手 netassist 3.7(windows版本)

前言:网络编程实现计算机之间的通信,通过 指定的协议实现数据的发送与接收,从而达到计算机之间的通信。

TCP/UDP协议,计算机实现通信要遵守的规则:

UDP协议简单但是不稳定,容易出现丢包的情况,而TCP相比UDP而言,比较复杂,稳定且数据不容易丢失。

以下代码在Python3.7环境实现。

UDP的使用:

使用UDP向指定网络位置发送数据:

import socket #导入包

def main():#定义函数

#1.创建一个套接字

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

#2向指定网络位置发送数据(b表示将数据转换为二进制,("192.168.188.1",8000)是个元组,表示数据的目的地IP及port)
    udp_socket.sendto(b"haahahah",("192.168.188.1",8000))

#3关闭套接字
    udp_socket.close()

#需要特别注意主函数的写法
if __name__=="__main__":
    main()

手动输入即将发送的消息:

import socket

def main():
    udp_socket = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
    contents=input("input message")

#将需要发送的数据进行编码处理
    udp_socket.sendto(contents.encode("UTF-8"),("192.168.188.1",8000))
    udp_socket.close()
if __name__=="__main__":
    main()

实现循环发送消息:

import socket

def main():

#可以使用Ctrl+c
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用Python内置的socket库来编写POP3协议的客户端。以下是一个简单的示例代码: ```python import socket # 设置POP3服务器地址和端口号 host = 'pop.example.com' port = 110 # 创建socket对象并连接POP3服务器 client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) client_socket.connect((host, port)) # 接收POP3服务器的欢迎信息 response = client_socket.recv(1024) print(response.decode()) # 发送用户名和密码进行验证 username = 'your_username' password = 'your_password' client_socket.sendall(('USER ' + username + '\r\n').encode()) response = client_socket.recv(1024) print(response.decode()) client_socket.sendall(('PASS ' + password + '\r\n').encode()) response = client_socket.recv(1024) print(response.decode()) # 发送LIST命令获取邮件列表 client_socket.sendall('LIST\r\n'.encode()) response = client_socket.recv(1024) print(response.decode()) # 发送RETR命令获取指定邮件的内容 mail_number = 1 client_socket.sendall(('RETR ' + str(mail_number) + '\r\n').encode()) response = client_socket.recv(1024) print(response.decode()) # 发送QUIT命令关闭连接 client_socket.sendall('QUIT\r\n'.encode()) response = client_socket.recv(1024) print(response.decode()) # 关闭socket连接 client_socket.close() ``` 需要注意的是,这只是一个简单的示例代码,实际应用需要根据POP3服务器的具体要求来编写具体的命令和处理逻辑。同时,还需要注意POP3协议的安全性问题,如使用SSL/TLS加密连接等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值