#****setver端

import socket

sk = socket.socket()

adress = ('127.0.0.1', 8032)

sk.bind(adress)

sk.listen(4)

while 1:

    conn, addr = sk.accept()

    while 1:

        res_s = conn.recv(1024).decode('utf-8')

        print(res_s)

        if res_s == 'q':
break res_f = input('>>>>>') conn.send(res_f.encode('utf-8')) if res_f == 'q':
break conn.close() sk.close() #****client端 import socket sk = socket.socket() adress = ('127.0.0.1', 8032) sk.connect(adress) while 1: meg = input('>>>') sk.send(meg.encode('utf-8')) if meg == 'q':
break res_s = sk.recv(1024).decode('utf-8') if res_s == 'q':
break print(res_s) sk.close()

tcp聊天交互的更多相关文章

  1. 《TCP/IP详解卷1:协议》第19章 TCP的交互数据流-读书笔记

    章节回顾: <TCP/IP详解卷1:协议>第1章 概述-读书笔记 <TCP/IP详解卷1:协议>第2章 链路层-读书笔记 <TCP/IP详解卷1:协议>第3章 IP ...

  2. TCP/IP协议--TCP的交互数据流和成块数据流

    前边讲了TCP连接的建立和终止,分别要三次握手和四次通信.这些报文段都只包含首部,没有数据部分.    这里就讲讲数据传送的一些细节.一个TCP连接建立成功以后,就可以开始传送数据了~ 一般TCP数据 ...

  3. Node创建TCP聊天

    //创建新的tcp服务器var net = require('net');var chatServer = net.createServer()chatServer.on('connection',f ...

  4. 11.TCP的交互数据流

          TCP报文段一般有两类,分别是成块数据和交互数据. 1.交互式输入     Rlogin连接上键入一个交互命令的数据流如下图所示.     每一个交互按键都会产生一个数据分组,每次从客户传 ...

  5. TCP/IP详解 卷1 第十九章 TCP的交互数据流

    19.1 引言 成块数据:比如ftp.电子邮件.Usenet新闻 交互数据:Telnet.Rlogin 成块数据的报文段基本上都是满长度(full-size)的,而交互数据小的多(Telnet和Rlo ...

  6. 【TCP/IP详解 卷一:协议】第十九章 TCP的交互数据流

    19.1 引言 前一章我们介绍了TCP连接的建立与释放:三握四挥,以及状态转移图. TCP报文段分为:交互数据,以及成块数据(下一章介绍). 交互数据:例如telnet,ssh,这种类型的协议在大多数 ...

  7. TCP的交互数据流

    在TCP进行数据传输时,可以分为成块数据流和交互数据流两种,如果按字节计算,成块数据与交互数据的比例约为90%和10%,TCP需要同时处理这两类数据,且处理的算法不同. 书籍本章中以Rlogin应用为 ...

  8. Java使用TCP聊天程序

    前面使用了UDP进行通信的聊天程序 现在做一个用TCP进行通信的聊天程序 原理: ServerSocket Socket 1.开一个线程监听端口,准备接收消息 2.不断接受消息发送到目的端口 P.S. ...

  9. TCP/IP详解 卷一(第十九章 TCP的交互数据流)

    TCP需要同时处理两类数据:块数据.交互数据. 本章将以Rlogin应用为例观察交互数据的传输过程. 交互式输入 首先观察在一个Rlogin连接上键入一个交互命令时所产生的数据流(每键入一个交互按键都 ...

随机推荐

  1. Django-配置celery

    首先需要安装的包 pip install cellerypip install django-cellery pip install django-cellery-results pip instal ...

  2. GitHub 上值得关注的 iOS 开源项目

    GitHub 上值得关注的 iOS 开源项目 原文链接:http://www.jianshu.com/p/e5dfe1a09611 GitHub 上值得关注的 iOS 开源项目 —— 由 红旗下的蛋  ...

  3. ubuntu搭建samba服务器

    一.为什么要用Samba?     Samba的主要任务就是实现Linux系统和Windows系统之间的资源共享.   二.需要的软件? 我是在ubuntu上实现的,所以我只需在配置好ubuntu的更 ...

  4. 使用mysql导入数据时关掉binlog

    在my.cnf中注释掉 log-bin=bin-log参数然后重启数据库

  5. 查看 python安装目录

    打开终端 输入: which python 打开终端 依此输入: python import sys print sys.path

  6. Java 线程池ThreadPoolExecutor简单应用

    什么是线程池: 线程池就是控制线程的一个池子.用来控制线程数量. 为什么要使用线程池: 1.避免系统反复创建和销毁线程影响执行的时间(创建+销毁>>执行时间时) 2.控制线程数量.线程过多 ...

  7. 在MVC中使用泛型仓储模式和工作单元来进行增删查改

    原文链接:http://www.c-sharpcorner.com/UploadFile/3d39b4/crud-operations-using-the-generic-repository-pat ...

  8. iOS优秀博文合集

    一.优化篇 Xcode7中你一定要知道的炸裂调试神技 iOS使用Instrument-Time Profiler工具分析和优化性能问题 dSYM 文件分析工具 二.功能篇 3分钟实现iOS语言本地化/ ...

  9. easyui tree的简单使用

    Tree 数据转换 所有节点都包含以下属性: id:节点id,这个很重要到加载远程服务器数据 which is important to load remote data text: 显示的节点文本 ...

  10. OOalv 实现带出栏位描述

    .类定义 CLASS lcl_event_handler DEFINITION. PUBLIC SECTION. METHODS: handle_data_changed_finished FOR E ...