socket.socket(family,type,proto)
1、family:
- AF_INET //IPV4
- AF_INET6 //IPV6
- AF_UNIX //UNIX下的地址
2、type
- SOCK_STREAM //TCP套接字
- SOCK_DGRAM //UDP套接字
3、proto 一般情况下不设置,默认为0
TCP通信服务端
import socket
import sys
class ServerSocker(object):
def __init__(self,bind_ip,bind_port):
self.bind_ip = bind_ip
self.bind_port = int(bind_port)
def run(self):
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM) //定义一个TCP的套接字
s.bind((self.bind_ip,self.bind_port)) //绑定套接字地址
s.listen(3) //监听数量
client,addr = s.accept() //返回套接字
print('Connecting from %s : %d' %(addr[0],addr[1])) //打印客户端地址和端口
while True:
result = client.recv(1024) //接受1024个字节的消息
print('Recieved Message:' + result.decode('utf-8'),end = '') //打印消息
send_message = input('请输入发过去的消息:')
if send_message == 'quit': //退出程序
sys.exit()
client.send(send_message.encode('utf-8')) //发送消息
def main():
s = ServerSocker('0.0.0.0',sys.argv[1])
s.run()
if __name__ == '__main__':
main()