python发送数据至服务器_Python socket服务器端、客户端传送信息

本文介绍了如何使用Python的socket模块实现一个简单的TCP服务器,该服务器读取指定文件内容并在客户端请求时发送。服务器端在Linux主机上运行,客户端在Windows主机上,通过TCP连接实现数据传输。服务器端监听指定端口,接收客户端请求,读取日志文件并发送含有特定内容的行给客户端,客户端接收到数据后写入本地文件。
摘要由CSDN通过智能技术生成

问题

在windows环境主机A上想每隔15分钟获取远程Linux主机B上定时监控的logFile文件,但通过在A主机上:telnet B'ip port (例:telnet 158.123.12.1 21)查看远程主机没开放21、22端口,好像不能使用ftp或者sftp来获取(应该是不可以吧)。想自己写个简单服务器实现:

1、服务器端能够正确读取logFile内容

2、客户端访问时,服务器端能够返回logFile的内容

2、客户端能够正确获取logFile内容并写入本地文件中

解决

使用Python的socket模块,自己新增一个可以直接访问的PORT。为了保证数据准确性,使用比较简单的方法:客户端与服务器端通过TCP方式通信。服务器端先启动后,循环等待客户端访问。由于是单个客户端每隔15分钟访问,每完成一次访问便断开连接,所以采用了单线程阻塞的方法实现的服务器端:

远程Linux主机B 服务器端代码:

#coding=utf-8

#!/usr/bin/python

from socket import *

HOST = '158.123.12.1'

PORT = 8083

BUFSIZE = 65535

ADDR = (HOST, PORT)

tcpSerSock = socket(AF_INET, SOCK_STREAM)

tcpSerSock.bind(ADDR)

tcpSerSock.listen(5)

welcomeStr = 'Welcome to 12.1 python socket

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值