python网络连接之tcp通信

#encoding=utf-8
# 创建一个 TCP 服务器程序,这个程序会把客户发送过来的字
# 符串加上一个时间戳(格式:‘[时间]数据‘)返回给客户。
from socket import *
from time import ctime

host = ‘‘
port = 21567
bufsiz = 1024
addr = (host,port)

# ss = socket() # 创建服务器套接字
# ss.bind() # 把地址绑定到套接字上
# ss.listen() # 监听连接
# inf_loop: # 服务器无限循环
# cs = ss.accept() # 接受客户的连接
# comm_loop: # 通讯循环
# cs.recv()/cs.send() # 对话(接收与发送)
# cs.close() # 关闭客户套接字
# ss.close() # 关闭服务器套接字(可选)

#创建tcp套接字,绑定,监听
tcpServerSock = socket(AF_INET,SOCK_STREAM)#创建TCP Socket
#AF_INET 服务器之间网络通信
#socket.SOCK_STREAM 流式socket , for TCP
tcpServerSock.bind(addr)#将套接字绑定到地址,
#在AF_INET下,以元组(host,port)的形式表示地址.
tcpServerSock.listen(5)#操作系统可以挂起的最大连接数量,至少为1,大部分为5

while True:
print ‘waiting for connection‘
tcpClientSock, addr2 = tcpServerSock.accept() #接受客户的连接
#接受TCP连接并返回(conn,address),其中conn是新的套接字对象,
#可以用来接收和发送数据。
#address是连接客户端的地址。
print ‘connected from :‘,addr2

while True:
data = tcpClientSock.recv(bufsiz) #接收客户端发来的数据
if not data:
break
tcpClientSock.send(‘[%s] %s‘ % (ctime(),data)) #返回给客户端数据
tcpClientSock.close()
tcpServerSock.close()

-------------------------------------------------------------------------

#encoding=utf-8
#创建tcp客户端
# cs = socket() # 创建客户套接字
# cs.connect(address) # 尝试连接address处的服务器
# comm_loop: # 通讯循环
# cs.send()/cs.recv() # 对话(发送/接收)
# cs.close() # 关闭客户套接字

from socket import *

host = ‘localhost‘
port = 21567
bufsize = 1024
addr = (host,port)

tcpClientSock = socket(AF_INET,SOCK_STREAM)
tcpClientSock.connect(addr)#s.connect(address)
#连接到address处的套接字

while True:
data = raw_input(‘>‘)
if not data:
break
tcpClientSock.send(data) #像服务端发送数据
data = tcpClientSock.recv(bufsize) #接收服务端返回的数据
if not data:
break
print data
tcpClientSock.close()

时间: 2024-11-01 12:57:09

python网络连接之tcp通信的相关文章

阿里云异常网络连接-可疑WebShell通信行为的分析解决办法

2018年10月27日接到新客户网站服务器被上传了webshell脚本***后门问题的求助,对此我们sine安全公司针对此阿里云提示的安全问题进行了详细分析,ECS服务器被阿里云提示异常网络连接-可疑WebShell通信行为,还会伴有,网站后门-发现后门(Webshell)文件,以及提示网站后门-一句话webshell的安全提示,但是大部分都是单独服务器ECS的用户,具体被阿里云提示的截图如下: 点开消息后的内容为:受影响资产 iZ2393mzrytZ 访问者IP Webshell URL 事件

2015/12/14 Python网络编程,TCP/IP客户端和服务器初探

一直不是很清楚服务器的定义,对于什么是服务器/客户端架构也只有一个模糊的感觉.最近开始学习,才明白一些什么服务器和客户端的关系. 所谓的服务器,就是提供服务的东西,它是一个硬件或者软件,可以向一个或者多个客户端提供所需要的服务.它存在的目的就是等待客户的请求,然后给客户服务,再接着等待请求. 而客户端,就来连上一个服务器,提出自己的请求,然后等待获得反馈. 比如说,打印机就是一个服务器的例子,与之相连的计算机就是客户端,通过网络连接打印机后,给它提出服务需求(打印)和传输数据(传输内容),然后打

Java网络编程之TCP通信

一.概述 Socket类是Java运行clientTCP操作的基础类,这个类本身使用代码通过主机操作系统的本地TCP栈进行通信. Socket类的方法会建立和销毁连接,设置各种Socket选项. ServerSocket类是Java执行server端操作的基础类,该类执行于server,监听入站TCP连接.每一个socketserver监听server的某个port.当远程主机的client尝试连接此port时.server就被唤醒.并返回一个表示两台主机之间socket的正常Socket对象.

python网络编程实现TCP和UDP连接

实现TCP #!/usr/bin/env python3 # -*- coding: utf-8 -*- import socket # 创建一个socket: s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 建立连接: s.connect(('www.sina.com.cn', 80)) # 发送数据: s.send(b'GET / HTTP/1.1\r\nHost: www.sina.com.cn\r\nConnection:

Python网络编程-Socket简单通信

学习python中使用python进行网络编程,编写简单的客户端和服务器端进行通信,大部分内容来源于网络教程,这里进行总结供以后查阅. 先介绍下TCP的三次握手: 1,简单的发送消息: 服务器端: import socket sk = socket.socket() ip_port = ("127.0.0.1", 8888) sk.bind(ip_port) sk.listen(5) print("正在进行等待接受数据...") conn, address = sk

python网络编程之TCP编程

TCP编程 模拟客户端和服务器端进行通信.其中要素为ip地址和端口. 客户端: 建立socket对象,并且设置为TCP模式 用connect()方法设置端口和ip地址,需要传入一个set. 可以进行接受和发送的操作 关闭socket连接 服务器端: 因为一个服务器打开一个固定端口进行监听,但是可能响应不同的客户端,所以可以定义不同的进程序进行处理. 建立socket对象 绑定IP地址和端口 监听 利用进程响应不同的客户端请求,可以发送和接受数据等操作 关闭socket连接 实例: 客户端: im

python工具编写之tcp通信编程

TCP服务器端 实现多线程 可以接入多个客户端 客户端输入数据 在服务端标准输出出来 服务端向客户端发送hello world 客户端输入exit可以终止程序 TCP客户端 实现效果: 服务器端 客户端: 可以看到 可以同时连接多个客户端

[javaSE] 网络编程(TCP通信)

客户端A与服务端建立通信,服务端获取到客户端A的Socket对象,通过这个通路进行通信 客户端: 获取Socket对象,new出来,创建客户端的Socket服务,构造参数:Sting主机,int 端口 调用Socket对象的getOutputStream()方法,获取输出流OutputStream对象 调用OutputStream对象的write()方法,参数:byte[]字节数组 import java.io.IOException; import java.io.OutputStream;

python 网络编程:TCP

在python2.7中完好运行: #!/usr/bin/python # -*- coding: utf-8 -*- # 导入socket库: import socket # 创建一个socket: s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 建立连接: s.connect(('www.sina.com.cn', 80)) s.send('GET / HTTP/1.1\r\nHost: www.sina.com.cn\r\nCo