python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > Python3 socket

Python3的socket使用方法详解

作者:TTyb

这篇文章主要介绍了Python3的socket使用方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

这篇文章主要介绍了Python3的socket使用方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

需要实现两台机器的信息交互,使用 socket 进行调度。其中服务端为:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import socket

# 服务端ip
server_address = ('192.168.229.129',10000)
# 客户端ip
client_address = ("192.168.229.130",10000)
s = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)

s.bind(server_address)
while 1:
  data,addr=s.recvfrom(2048)
  if not data:
    break
  print("got data from",addr)
  print(data.decode())
  replydata = input("reply:")
  s.sendto(replydata.encode("utf-8"),client_address)
s.close()

客户端为:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import socket

# 服务端ip
server_address = ('192.168.229.129',10000)
# 客户端ip
client_address = ("192.168.229.130",10000)

s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.bind(client_address)
while 1:
  data = input("input:")
  if not data:
    break
  s.sendto(data.encode("utf-8"), server_address)

  recivedata, addrg = s.recvfrom(2048)
  if recivedata:
    print("from:", addrg)
    print("got recive :", recivedata.decode())
s.close()

启动过后如下所示:

客户端发送:

input:hello world
from: ('192.168.229.129', 10000)
got recive : my name is server
input:my name is client,hahaha
from: ('192.168.229.129', 10000)
got recive : woca

服务端接收:

got data from ('192.168.229.130', 10000)
hello world
reply:my name is server
got data from ('192.168.229.130', 10000)
my name is client,hahaha
reply:woca

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文