socket补充

socket

 

第一步,建立socket对象:这里与客户端一样,依然是:

s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)

第二步,设置和得到socket选项

python定义了setsockopt()和getsockopt(),一个是设置选项,一个是得到设置。这里主要使用setsockopt(),具体结构如下:

setsockopt(level,optname,value)

level定义了哪个选项将被使用。通常情况下是SOL_SOCKET,意思是正在使用的socket选项。它还可以通过设置一个特殊协议号码来设置协议选项,然而对于一个给定的操作系统,大多数协议选项都是明确的,所以为了简便,它们很少用于为移动设备设计的应用程序。

optname参数提供使用的特殊选项。关于可用选项的设置,会因为操作系统的不同而有少许不同。如果level选定了SOL_SOCKET,那么一些常用的选项见下表:

本节在学习时,用到了SO_REUSEADDR选项,具体写法是:

S.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1) 这里value设置为1,表示将SO_REUSEADDR标记为TRUE,操作系统会在服务器socket被关闭或服务器进程终止后马上释放该服务器的端口,否则操作系统会保留几分钟该端口。

 

phone = socket.socket()

1 服务端和客户端的公共用途的嵌套字函数
2 phone.recv() #接受TCP数据
3 phone.send() #发送TCP数据
4 phone.recvfrom() #接受UDP数据
5 phone.sendto() #发送UDP数据
6 phone.getpeername() #接收到当前套接字远端的地址
7 phone.getsockname() #返回指定套接字的参数
8 phone.setsockopt() #设置指定套接字的参数
9 phone.close() #关闭套接字


1 面向锁的套接字方法
2 phone.setblocking()  #设置套接字的阻塞与非阻塞模式
3 phone.settimeout()  #设置阻塞套接字操作的超时时间
4 phone.gettimeout()  #得到阻塞套接字操作的超时时间1 面向锁的套接字方法
2 phone.setblocking()  #设置套接字的阻塞与非阻塞模式
3 phone.settimeout()  #设置阻塞套接字操作的超时时间
4 phone.gettimeout()  #得到阻塞套接字操作的超时时间


1 面向文件的套接字函数
2 phone.fileno()  # 套接字的文件描述符
3 phone.makefile() #创建一个与该套接字相关的文件

 

posted @ 2023-02-15 16:40  断浪狂刀忆年少  阅读(64)  评论(0编辑  收藏  举报