Python--网络编程
2019-02-14 本文已影响0人
YI_YI_
1.引入socket
import socket
# 创建socket对象
# 参数1:
#socket.AF_INET 表示IPV4(默认)
#socket.AF_INET6 表示IPV6
#socket.AF_UNIX 只能用于单一的
# 参数2:
# socket.SOCK_STREAM 流式socket for TCP(默认)
# socket.SOCK_DGRAM 数据格式socket,for UDP
# socket.SOCK_RAW 原始套接字,普通的套接字无法处理ICMP,IGMP等网络报文,可以通过IP_HDRINCL套接字选项由用户构造IP头
# socket.SOCK_SEQPACKET 可靠的连续数据包服务
serversocket = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
# 获取本机主机名
host = socket.gethostname()
port=10011
# 绑定端口号
serversocket.bind((host,port))
# 设置最大的连接数
serversocket.listen(5)
while True:
# 建立客户端连接
clientsocket,addr = serversocket.accept()
print("连接地址:%s" % str(addr))
msg= '欢迎访问网站'
clientsocket.send(msg.encode('utf-8'))
clientsocket.close()
客户端
import socket
import sys
# 创建socket对象
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
# 获取本机的主机名
host = socket.gethostname()
# 设置端口号
port = 10011
# 连接服务
s.connect((host,port))
# 接收小于1024 字节数据
msg = s.recv(1024)
s.close()
print(msg.decode('utf-8'))