前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python---socket中的tcp

Python---socket中的tcp

作者头像
sjw1998
发布2019-09-29 13:29:20
6560
发布2019-09-29 13:29:20
举报
文章被收录于专栏:孤独的S孤独的S

在python中的网络编程,即socket编程

tcp:

代码语言:javascript
复制
import socket
print('服务器运行了。。。。')
myfuwu = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
myfuwu.bind(('127.0.0.1', 8000))
while 1:
    myfuwu.listen(5)     #监听的客户端的数量,可自己定义数量
    conn,addr = myfuwu.accept()  #侦听并接收此套接字的链接
    print(conn)
    print(addr)
    data = conn.recv(1024)   #接收的内容的大小
    print('客户端发来:',data.decode('utf-8'))
conn.close()
myfuwu.close

接收到的客户端的结果:

服务器运行了。。。。 <socket.socket fd=504, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0,

laddr=('127.0.0.1', 8000), raddr=('127.0.0.1', 60530)> #conn的内容 ('127.0.0.1', 60530) #addr,套接字的地址 客户端发来: 123

代码语言:javascript
复制
myfuwu = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
myfuwu.bind(('127.0.0.1', 8000))

如果想要不同电脑的通信,在这里把ip修改成电脑的IP地址即可,客户端也是修改成服务端的ip,

第一段的socket.AF_INET是固定格式,而第二个则是tcp的,要是udp则修改成

代码语言:javascript
复制
SOCK_DGRAM

客户端:

代码语言:javascript
复制
import socket

ipport = ('127.0.0.1', 8000)
back_log = 5
buffer_size = 1024
print('客户端开始运行。。。。')
while 1:
    tcp_clent = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    tcp_clent.connect(ipport)
    fasong = input("请输入你要发送的东西:")
    tcp_clent.send(fasong.encode('utf-8'))
    print('已经发送')
tcp_clent.close()

tcp是一对一的通信,如果客户端关闭,服务器也会报错关闭,如果想持续运行,可以添加try expect去捕捉异常,然后实现连续的接收客户端的连接。

代码语言:javascript
复制
import socket
print('服务器运行了。。。。')
while 1:
    try:
        myfuwu = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        myfuwu.bind(('127.0.0.1', 8000))
        while 1:
            myfuwu.listen(5)     #监听的客户端的数量,可自己定义数量
            conn,addr = myfuwu.accept()  #链接到客户端
            print(conn)
            print(addr)
            data = conn.recv(1024)   #接收的内容的大小
            print('客户端发来:',data.decode('utf-8'))
    except:
        print("服务器运行多一次")

conn.close()
myfuwu.close
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-03-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 孤独的S 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档