Python套接字编程细节

时间:2018-03-03 19:58:44

标签: python sockets

我有一个简单的服务器和一个使用python的客户端脚本,但我不知道我们正在做什么与代码。如果您能详细说明以下几行的含义和功能,我将不胜感激:

server.py

import socket

s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
host = "127.0.0.1"
port = 1234

s.bind((host,port))

那么我们通过socket对象s.bind()做什么呢?绑定是什么意思?

s.listen(1)

现在我们监听连接但是listen的参数意味着什么?它被设置为最大值5.这个数字的目的是什么?

c,address = s.accept()

现在接受返回一个套接字对象和一个由主机和端口组成的元组,但我不明白的是这个。在客户端我们只使用我们创建的套接字对象但在服务器脚本中为什么使用“c”对象为客户端执行任务?为什么要创建另一个套接字对象?这个“c”和“s”对象有什么区别?

1 个答案:

答案 0 :(得分:0)

您是否阅读了套接字模块的documentation

它声明参数是排队连接的最大数量,并且应该至少为0;最大值取决于系统(通常为5),最小值强制为0.

您没有发布任何特定代码,但cs都是socket个对象。一个用于客户端,一个用于服务器,它只是一个命名约定。