通过socket建立简单的聊天工具

server.py

import socket
import threading
import times = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind(('ip.*.*.*', 9999))
s.listen(5)
print('Waiting for connection...')def tcplink(sock, addr):print('Accept new connection from %s:%s...' % addr)sock.send(b'Welcome!')while True:data = sock.recv(1024)time.sleep(1)if not data or data.decode('utf-8') == 'exit':breakprint('Client:%s'%data.decode('utf-8'))sock.send(('Server:%s'% input()).encode('utf-8'))sock.close()print('Connection from %s:%s closed.' % addr)while True:# 接受一个新连接:sock, addr = s.accept()# 创建新线程来处理TCP连接:t = threading.Thread(target=tcplink, args=(sock, addr))t.start()

client.py

import sockets = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 建立连接:
s.connect(('ip.*.*.*', 9999))
# 接收欢迎消息:
print(s.recv(1024).decode('utf-8'))
while True:msg=input()# 发送数据:s.send(msg.encode('utf-8'))print(s.recv(1024).decode('utf-8'))if msg =='exit':break
s.send(b'exit')
s.close()

转载于:https://www.cnblogs.com/wangbin2188/p/9936512.html

python网络编程——实现简单聊天相关推荐

  1. python网络编程--socket简单实现

    python网络编程                                                                                           ...

  2. python网络编程--创建简单的UPD套接字实现两个进程间互相通信

    Socket 什么是socket Socket通常又称"套接字",应用程序通常会通过"套接字"实现向网络发出请求或者相应网络请求,从而实现不同计算机之间或同一计 ...

  3. python网络编程实现简单远程命令执行

    前言 套接字(Sockets)是双向通信信道的端点. 套接字可以在一个进程内,在同一机器上的进程之间,或者在不同主机的进程之间进行通信,主机可以是任何一台有连接互联网的机器. 一.基本语法 创建套接字 ...

  4. python socket编程 实现简单p2p聊天程序

    转载自:https://www.cnblogs.com/wuxie1989/p/7204887.html python socket编程 实现简单p2p聊天程序 目标是写一个python的p2p聊天的 ...

  5. Java网络编程学习——简单模拟在线聊天

    Java网络编程学习--简单模拟在线聊天 学了java网络,也是该做个小案例来巩固一下了. 本次案例将使用UDP和多线程模拟即时聊天,简单练练手. 1.前提知识 需要知道简单的IO流操作,以及简单的U ...

  6. Python网络编程——客户端与服务端简单信息发送与接受

    python网络编程-服务端与客户端简单信息发送与接受 思考一下我们进行网络中信息通信都需要什么或者说需要具备什么条件才能进行网络通信? 首先我们需要知道给谁发送,也就是目标机是谁,然后我们需要知道对 ...

  7. python 网络编程——urllib,urllib2简单运用

    知识点一:字典 字典呢就是一种数据结构,我们也可以将它称作映射,可以储存任意类型对象.它是由一个键/值对组成,举个通俗一点的例子,以我们的电话簿为例,值==电话,键==姓名. 需要注意的是在字典中,所 ...

  8. 肝!Python 网络编程

    什么是网络? 网络就是一种辅助双方或者多方能够连接在一起,然后可以进行数据传递的工具. 就是为了联通多方然后进行通信用的,即把数据从一方传递给另外一方,为了让在不同的电脑上运行的软件,之间能够互相传递 ...

  9. 读书笔记 - -《Python网络编程》重点

    文章目录 一.前言 二.客户/服务器网络编程简介 三.UDP 3.1 端口号 3.2 套接字 3.3 UDP分组 3.4 小结 四.TCP 4.1 TCP工作原理 4.2 绑定接口 4.3 死锁 4. ...

最新文章

  1. [更新问题]无法在安装新的版本前,为“./boot/vmlinuz-2.6.24-19-generic”做一个符号链接备份...
  2. css3动画简介以及动画库animate.css的使用
  3. 如何解决打开一个DBF数据表时出现的“Index not Found…”错误(摘)
  4. mysql服务实例配置_MySQL多实例配置(一)
  5. 法语语言考试C1,法语考试大比拼:专八与Dalf C1,哪个更难?
  6. 42 | 案例篇:如何优化 NAT 性能?(下)
  7. Hadoop 07_MapReduce运行的三种方式
  8. 苹果新品又要来了 下周可能推出AirPods Studio
  9. ue4 如何获取端口号_UE4编辑器开发基础
  10. Facebook KeyHash生成方法
  11. 自动化刷EOS资金盘(类Fomo3D)游戏
  12. Dubbo+Zookeeper视频教程
  13. 普元eos根据查询条件导出excel表格
  14. 高中会考计算机网络技术试题,高中信息技术会考练习复习试题及答案
  15. 机器学习备忘录 | 二分类模型常用评价指标汇总
  16. Java 高级 多线程 线程安全 3 种常见解决方案教程.
  17. 手持式网络性能测试仪
  18. C语言删除注册表某个键值,win7系统批量快速删除注册表中指定的某个键值的操作方法...
  19. Ant Design Vue表格序号递增问题
  20. 二十四节气—处暑,暑气渐轻,热力不减。

热门文章

  1. Python3 queue队列模块详解
  2. Makefile 学习 1
  3. Lake Counting POJ - 2386
  4. ubuntu16.04中安装tensflow教程
  5. Linux下进程间通信概述
  6. 【SSL】SSL工作原理
  7. Cluster模式潜在问题及解决方案、Web服务综合解决方案
  8. Codeforces 845 C. Two TVs 思路:简单贪心算法
  9. 每天一道LeetCode-----获取无重复项/有重复项序列的全排列
  10. 使用gui调试x86系统的汇编代码