代码贴上,做个记录

TcpClient

# -*- coding:utf-8 -*-

import socket

target_host = "127.0.0.1" #服务器端地址
target_port = 5555 #与服务器的端口号一致 while True: client = socket.socket(socket.AF_INET,socket.SOCK_STREAM) client.connect((target_host,target_port))
#data存储要发送的数据
data = raw_input("请输入要发送的数据:")
#input对于接受输入是有问题的 raw_input()把所有输入都看做字符串
if not data:
break
client.send(data) response = client.recv(1024) print(response) client.close()

TcpServer

# -*- coding:utf-8 -*-
import socket
import threading bind_ip = "0.0.0.0" #监听所有可用的接口
bind_port = 5555 #非特权端口号都可以使用 #AF_INET:使用标准的IPv4地址或主机名,SOCK_STREAM:说明这是一个TCP服务器
server = socket.socket(socket.AF_INET,socket.SOCK_STREAM) #服务器监听的ip和端口号
server.bind((bind_ip,bind_port)) print("[*] Listening on %s:%d" % (bind_ip,bind_port)) #最大连接数
server.listen(5) #客户处理线程
def handle_client(client_socket): request = client_socket.recv(1024) print("[*] Received: %s" % request)
#向客户端返回数据
client_socket.send("滴,打卡成功!") client_socket.close() while True: #等待客户连接,连接成功后,将socket对象保存到client,将细节数据等保存到addr
client,addr = server.accept() print("[*] Acception connection from %s:%d" % (addr[0],addr[1])) client_handler = threading.Thread(target=handle_client,args=(client,))
client_handler.start()

客户端发送

服务端接收数据

python写一些简单的tcp服务器和客户端的更多相关文章

  1. Mina、Netty、Twisted一起学(一):实现简单的TCP服务器

    MINA.Netty.Twisted为什么放在一起学习?首先,不妨先分别看一下它们官方网站对其的介绍: MINA: Apache MINA is a network application frame ...

  2. 用Python写一个简单的Web框架

    一.概述 二.从demo_app开始 三.WSGI中的application 四.区分URL 五.重构 1.正则匹配URL 2.DRY 3.抽象出框架 六.参考 一.概述 在Python中,WSGI( ...

  3. Python 绝技 —— TCP服务器与客户端

    i春秋作家:wasrehpic 0×00 前言 「网络」一直以来都是黑客最热衷的竞技场.数据在网络中肆意传播:主机扫描.代码注入.网络嗅探.数据篡改重放.拒绝服务攻击……黑客的功底越深厚,能做的就越多 ...

  4. python socket之tcp服务器与客户端demo

    python socket之tcp服务器与客户端demo 作者:vpoet mails:vpoet_sir@163.com server: # -*- coding: cp936 -*- ''' 建立 ...

  5. Node.js实战14:一个简单的TCP服务器。

    本文,将会展示如何用Nodejs内置的net模块开发一个TCP服务器,同时模拟一个客户端,并实现客户端和服务端交互. net模块是nodejs内置的基础网络模块,通过使用net,可以创建一个简单的tc ...

  6. 如何用PHP/MySQL为 iOS App 写一个简单的web服务器(译) PART1

    原文:http://www.raywenderlich.com/2941/how-to-write-a-simple-phpmysql-web-service-for-an-ios-app 作为一个i ...

  7. 通过python 构建一个简单的聊天服务器

    构建一个 Python 聊天服务器 一个简单的聊天服务器 现在您已经了解了 Python 中基本的网络 API:接下来可以在一个简单的应用程序中应用这些知识了.在本节中,将构建一个简单的聊天服务器.使 ...

  8. 如何写一个简单的http服务器

    最近几天用C++写了一个简单的HTTP服务器,作为学习网络编程和Linux环境编程的练手项目,这篇文章记录我在写一个HTTP服务器过程中遇到的问题和学习到的知识. 服务器的源代码放在Github. H ...

  9. 如何写一个简单的HTTP服务器(重做版)

    最近几天用C++重新写了之前的HTTP服务器,对以前的代码进行改进.新的HTTP服务器采用Reactor模式,有多个线程并且每个线程有一个EventLoop,主程序将任务分发到每个线程,其中采用的是轮 ...

随机推荐

  1. CSS布局:sticky定位

    stick定位一如其名:它随“正常”文档流而动,直到规定位置,尔后“粘”在那里:或者,当它发现自己可以跟随“正常”文档流而脱离sticky位置时,就果断离开从而加入文档流. 代码与效果如下: < ...

  2. Entity Framework Core for Console

    包 Microsoft.EntityFrameworkCore Microsoft.EntityFrameworkCore.SqlServer Microsoft.EntityFrameworkCor ...

  3. linux 资源

    linux 资源查看 cpu 信息 通过/proc/cpuinfo 查看  # 总核数 = 物理CPU个数 X 每颗物理CPU的核数  # 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 ...

  4. odoo controller 继承

    方式一: 继承基类,直接重写方法 from odoo.addons.web.controllers.main import Export class PsExport(Export): @http.r ...

  5. 构建C1000K的服务器(2) – 实现百万连接的comet服务器

    转自:http://www.ideawu.net/blog/archives/742.html 这是关于 C1000K 序列文章的第二篇, 在前一篇文章 构建C1000K的服务器(1) – 基础 中, ...

  6. java.lang.IllegalArgumentException,java.util.zip.ZipException 解决办法

    控制台错误信息: 严重: A child container failed during start java.util.concurrent.ExecutionException: org.apac ...

  7. Versioning information could not be retrieved from the NuGet package repository. Please try again later.

    Versioning information could not be retrieved from the NuGet package repository. Please try again la ...

  8. JFR 使用记录

    进程的内存信息,可以使用jmap 和 jstack 等dump出文件,使用jhat 分析 dump 文件.不过比较简陋. 可以不停进程的方式有 JFR 或者taobao 开源组件. 本篇只记录JFR相 ...

  9. day14——装饰器

    day14 装饰器 装饰器本质就是闭包 开放封闭原则: 扩展是开放的(增加新功能),对源码是封闭的(修改已经实现的功能) 装饰器:用来装饰的工具 作用:在不改变源代码及调用方式的基础下额外增加新的功能 ...

  10. Python 基础 常用运算符

    Python 基础 常用运算符 计算机可以进行的运算有很多种,可不只加减乘除这么简单,运算按种类可分为算术运算.比较运算.逻辑运算.赋值运算.成员运算.身份运算.位运算. 今天我们暂只学习 算术运算. ...