创建一个套接字,python在一个非套接字上尝试了一个操作

  创建一个套接字,python在一个非套接字上尝试了一个操作

  本文主要为大家介绍python socket的创建和实现。有需要的朋友可以借鉴一下,希望能有所帮助。祝大家进步很大,早日升职加薪。

  00-10101,网络协议2,地址族3,通过域名获取IP地址4,socket

  1.网络协议

  TCP/IP是设备在互联网和大多数本地网络上通信时使用的一组协议。TCP更可靠,有很多错误检查,需要更多资源。HTTP、SMTP或FTP等服务使用它。UDP的可靠性要差很多,检错能力有限,需要的资源也少。等待VoIP服务使用它。

  插座。SOCK_STREAM用于为TCP创建套接字,而socket。SOCK_DGRAM为UDP创建套接字。

  2.地址族

  创建套接字时,必须指定其地址族,并在套接字中使用该类型。

  AF_UNIX,AF_LOCAL- local通信

  AF_INET-IPv4互联网协议

  AF_INET6-IPv6互联网协议

  AF_IPX-IPX-Novell协议

  AF _蓝牙-无线蓝牙协议

  AF_PACKET-底层分组接口

  对于AF_INET地址族,指定了一对(主机、端口)。Host是用Internet域表示法表示主机名(如example.com)或IPv4地址(如93.184.216.34)的字符串,port是整数。

  

目录

  导入插座

  IP=socket . gethostbyname( geek-docs.com )

  打印(ip)

  

3、通过域名获取IP地址

  TCP ipv4

  导入插座

  #为IPV4创建TCP套接字

  with socket.socket(套接字。AF_INET,socket。SOCK_STREAM)作为s:

  #工作时间服务器的主机名和端口

  host=time.nist.gov

  端口=13

  #连接到远程套接字

  s.connect((主机,端口))

  #将数据发送到套接字。套接字必须连接到远程套接字。从字节发送数据,直到所有数据发送完毕或出现错误。

  森道尔(b )

  print(字符串(s.recv(4096), utf-8 ))

  # HEAD request:HEAD请求是没有消息体的GET请求。请求/响应的头包含元数据,如HTTP协议版本或内容类型。

  导入插座

  with socket.socket(套接字。AF_INET,socket。SOCK_STREAM)作为s:

  s.connect((webcode.me ,80))

  s . sendall(b head/HTTP/1.1 \ r \ n host : webcode . me \ r \ n cept : text/html \ r \ n \ r \ n )

  print(字符串(s.recv(1024), utf-8 ))

  #GET Request:请求指定了资源的表示。使用GET的请求应该只检索数据。

  导入插座

  with socket.socket(套接字。AF_INET,socket。SOCK_STREAM)作为s:

  s.connect((webcode.me ,80))

  #对于HTTP 1.1协议,默认情况下连接可以是持久的。这就是我们发送Connection: close头的原因。

  s . sendall(b get/HTTP/1.1 \ r \ n host : webcode . me \ r \ n cept : text/html \ r \ n connection : close \ r \ n \ r \ n )

  而True:

  data=s.recv(1024)

  如果不是数据:

  破裂

  print(data.decode())

  # Echo客户端服务器示例

  导入插座

  导入时间

  使用socket.socket()作为s:

  host=localhost

  端口=8001

  s.bind((主机,端口))

  打印(f 套接字绑定到{端口} )

  s.listen()

  con,addr=s.accept()

  使用con:

  而True:

  data=con.recv(1024)

  如果不是数据:

  破裂

  con.sendall(数据)

  #异步服务器

  进口异步

  异步定义句柄_客户端(读取器,写入器):

  data=(await reader.read(1024))

  writer.write(数据)

  writer.close()

  loop=asyncio.get_event_loop()

  loop . create _ task(asyncio . start _ server(handle _ client, localhost ,8001))

  loop.run_forever()

  这就是python套接字创建的细节。更多关于python socket的信息,请关注热门IT软件开发工作室的其他相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: