python实现TCP服务器端与客户端的方法详解
作者:露露 发布时间:2023-05-17 09:39:39
标签:python,TCP
本文实例讲述了python实现TCP服务器端与客户端的方法。分享给大家供大家参考。具体如下:
TCP服务器程序(tsTserv.py):
from socket import *
from time import ctime
HOST = ''
PORT = 21567
BUFSIZ = 1024
ADDR = (HOST, PORT)
tcpSerSock = socket(AF_INET, SOCK_STREAM)
tcpSerSock.bind(ADDR)
tcpSerSock.listen(5)
while True:
print 'waiting for connection...'
tcpCliSock, addr = tcpSerSock.accept()
print '...connected from:', addr
while True:
data = tcpCliSock.recv(BUFSIZ)
if not data:
break
tcpCliSock.send('[%s] %s' %(ctime(), data))
tcpCliSock.close()
tcpSerSock.close()
TCP客户端程序(tsTclnt.py):
from socket import *
HOST = 'localhost'
PORT = 21567
BUFSIZ = 1024
ADDR = (HOST, PORT)
tcpCliSock = socket(AF_INET, SOCK_STREAM)
tcpCliSock.connect(ADDR)
while True:
data = raw_input('> ')
if not data:
break
tcpCliSock.send(data)
data1 = tcpCliSock.recv(BUFSIZ)
if not data1:
break
print data1
tcpCliSock.close()
运行说明:先运行服务器程序,作用类似于打开服务器保持等待客户请求,再运行客户端程序。
运行界面如下:
服务器端:
D:\code\ex>python tsTserv.py
waiting for connection...
...connected from: ('127.0.0.1', 2883)
waiting for connection...
...connected from: ('127.0.0.1', 2885)
waiting for connection...
...connected from: ('127.0.0.1', 2889)
waiting for connection...
...connected from: ('127.0.0.1', 2891)
waiting for connection...
...connected from: ('127.0.0.1', 2892)
waiting for connection...
...connected from: ('127.0.0.1', 2893)
waiting for connection...
客户端:
D:\code\ex>python tsTclnt.py
> 1
[Thu Feb 02 15:52:21 2012] 1
> 2
[Thu Feb 02 15:52:22 2012] 2
> 3
[Thu Feb 02 15:52:22 2012] 3
> 5
[Thu Feb 02 15:52:23 2012] 5
> 6
[Thu Feb 02 15:52:24 2012] 6
>
D:\code\ex>
希望本文所述对大家的Python程序设计有所帮助。
0
投稿
猜你喜欢
- Neo4j是一款开源图数据库,Py2neo提供了使用Python语言访问Neo4j的接口。本文介绍了使用Py2neo的NodeMatcher
- <base href="http://digi.tech.qq.com/images/ld/2007/1022/
- <html><body><table border=1> <? $id=@mssql_connec
- instanceof 运算符 和 is_a() 方法都是判断:某对象是否属于该类 或 该类是此对象的父类(用于确定一个 PHP 变量是否属于
- 本文主要介绍了Opencv图片生成视频,分享给大家,具体如下:生成视频import random as rdimport cv2 as cv
- 假设有一名为"addnewuser"的存储过程,其内容如下:Create PROCEDURE dbo
- Python字符串问题在arcpy中版本为 python2.x在QGIS中版本为 python2.x 或者 python3.xpython2
- 设置Table的细边框通常有这么几种方式:1、设置边框的BORDER=0 、cellspacing=1,设置Table的背景色为所要的边框色
- 问:如何让内联框架里面的网页背景透明?(用iframe嵌套一网页,怎么能够设置其背景为透明以便能显示父框架中网页的背景图?)答:这是需要 I
- jupyter notebook 图片显示模糊的解决办法加入这几行代码即可:矢量图设置import matplotlib.pyplot as
- 今天我们会讲到一个[装饰器]注记:链接“装饰器”指Python3教程中的装饰器教程。可以在这里快速了解什么是装饰器。@functools.l
- namedtuple是Python中存储数据类型,比较常见的数据类型还有有list和tuple数据类型。
- 概述python开发过程中,我们可能需要同时开发多款应用,这些应用可能公用同一个版本的Python程序,但是使用不同版本的第三方库,比如A应
- 在国内,大部分人都是过农历生日,然后借助日历工具获取农历日期对应的阳历日期,以这一天来过生!这里还有一个痛点,即:每一年的农历生日对应的阳历
- 今天用pytorch保存模型时遇到bugCan't pickle <class 'torch._C._Variable
- 这篇文章主要介绍了pandas 空数据处理方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可
- DateDiff 函数描述 返回两个日期之间的时间间隔。 语法 DateDiff(interval, date1, date2 [,firs
- 如下所示:#-*- coding: utf-8 -*-#code:myhaspl@qq.com#12-1.pyimport sysreloa
- python类型提示(type hint)在刷leetcode或者一些官方源码的时候,经常看到如下字样:class Solution:&nb
- 1、仅 Safari 和 Opera 识别的 Hack@media all and (min-width:&n