Python的socket编程
- 作者: 宋大财
- 来源: 51数据库
- 2022-08-12
目前处在学习python的阶段,昨天看到了python的socket模块,分别实现TCP、UDP时间戳回显。
1、tcp通信server和client代码
# tcpServer.py
#!/usr/bin/python
# -*- coding: utf-8 -*-
from socket import *
from time import ctime
HOST = ''
PORT = 21156
BUFSIZE = 1024
ADDR = (HOST,PORT)
tcpServerSock = socket(AF_INET,SOCK_STREAM)
tcpServerSock.bind(ADDR)
tcpServerSock.listen(5)
while True:
print 'waiting for connection...'
tcpClientSock ,addr = tcpServerSock.accept()
print '...connected from:',addr
while True:
data=tcpClientSock.recv(BUFSIZE)
if not data:
break
tcpClientSock.send('[%s] %s' % (ctime(),data))
tcpClientSock.close()
tcpServerSock.close
# tcpClient.py
#!/usr/bin/python
# -*- coding: utf-8 -*-
from socket import *
HOST = 'localhost'
PORT = 21156
BUFSIZE = 1024
ADDR = (HOST,PORT)
tcpClientSock = socket(AF_INET,SOCK_STREAM)
tcpClientSock.connect(ADDR)
while True:
data = raw_input('>')
if not data:
break
tcpClientSock.send(data)
data = tcpClientSock.recv(BUFSIZE)
if not data:
break
print data
tcpClientSock.close()
2、udp通信server和client代码
#udpServer.py
#!/usr/bin/python
# -*- coding: utf-8 -*-
from socket import *
from time import ctime
HOST = ''
PORT = 21156
BUFSIZE = 1024
ADDR = (HOST,PORT)
udpServerSock = socket(AF_INET,SOCK_DGRAM)
udpServerSock.bind(ADDR)
while True:
print 'waiting for message...'
data ,addr = udpServerSock.recvfrom(BUFSIZE)
udpServerSock.sendto('[%s] %s' % (ctime(),data), addr)
print '...received from and returned to:',addr
tcpClientSock.close()
tcpServerSock.close
#udpClient.py
#!/usr/bin/python
# -*- coding: utf-8 -*-
from socket import *
# from time import ctime
HOST = 'localhost'
PORT = 21156
BUFSIZE = 1024
ADDR = (HOST,PORT)
udpClientSock = socket(AF_INET,SOCK_DGRAM)
while True:
data = raw_input('>')
if not data:
break
udpClientSock.sendto(data,ADDR)
data,ADDR = udpClientSock.recvfrom(BUFSIZE)
if not data:
break
print data
udpClientSock.close()
推荐阅读
热点文章
Discord.py(重写)on_member_update 无法正常工作
0
Discord.py 在 vc 中获取用户分钟数
0
discord.py 重写 |为我的命令出错
0
Discord.py rewrite 如何 DM 命令?
0
播放音频时,最后一部分被切断.如何解决这个问题?(discord.py)
0
在消息删除消息 Discord.py
0
如何使 discord.py 机器人私人/直接消息不是作者的人?
0
(Discord.py) 如何获取整个嵌入内容?
0
Discord bot 尽管获得了许可,但不能提及所有人
0
Discord.py discord.NotFound 异常
0
