Python学习001——Socket 相关Api的使用

1、bind((ip, port))

绑定 ip地址和端口。

2、listen(N)

开始TCP监听,N表示操作系统挂起的最大连接数量,取值范围 1-5之间,一般设置 5。

3、accept()

被动接收TCP客户端连接,阻塞式。

4、connect((ip, port))

主动初始化TCP服务器连接。

5、recv(size)

接受TCP数据,返回值为字符串类型,size表示要接收的最大数据量。

6、send(str) 

发送TCP数据,返回值是要发送的字节数量。

7、sendall(str)

完整发送TCP数据,将 str 中的数据发送到连接的套接字,返回之前尝试发送所有数据,如果成功为 None,失败抛出异常。

8、recvfrom()

接收UDP数据,返回值为一个元组(data,address),data表示接收的数据,address表示发送数据的套接字地址。

9、 sendto(data, (ip, port))

发送UDP数据,返回值是发送的字节数。

10、close()

关闭套接字

代码走起:

from socket import socket, AF_INET, SOCK_STREAM

# AF_INET 用于 Internet 之间的进程通信
# SOCK_STREAM 表示的是用 TCP 协议编程

"""
    TCP服务端流程如下:
        1、使用socket类创建一个套接字对象
        2、使用bind((ip, port))方法绑定ip地址和端口号
        3、使用listen()方法开始TCP监听
        4、使用accept()方法等待客户端的连接
        5、使用recv() /send()方法接收/发送数据
        6、使用close()关闭套接字
"""

# 1、创建 socket 对象
server_socket = socket(AF_INET, SOCK_STREAM)
# 2、绑定ip地址和端口
ip = '127.0.0.1'
port = 8888
server_socket.bind((ip, port))
# 3、使用listen()方法开始TCP监听
server_socket.listen(5)
print('服务器已启动')
# 4、等待客户端连接
client_socket, client_addr = server_socket.accept()     # 系列解包赋值
# 5、接收来自客户端的数据
data = client_socket.recv(1024)
print('客户端发过来的数据为:', data.decode('utf-8'))
# 6、关闭socket
server_socket.close()
"""
    TCP客户端的流程如下:
        1、使用socket类创建一个套接字对象
        2、使用connect((host, port))设置连接的主机ip和主机设置的端口号
        3、使用recv() /send()方法接收/发送数据
        4、使用close()关闭套接字
"""

import socket

# 1、创建 socket 对象
client_socket = socket.socket()
# 2、向服务器端发送请求
ip = '127.0.0.1'
port = 8888
client_socket.connect((ip, port))
print('------------与服务器成功建立连接-------------')
# 3、发送数据
client_socket.send('Welcome to python world'.encode('utf-8'))
# 4、关闭
client_socket.close()
print('发送完毕')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值