1.服务端

# 如果socket起一个tcp服务,在同一个时间只能和一个客户端通信

# 如果socketserver起一个服务,在同一个时间就可以和多个客户端通信了

# socketserver
# 是基于soccekt又进行了一层的封装 import socketserver # 要起socketserver,先写一个类
class MyServer(socketserver.BaseRequestHandler): # 必须继承一个socketserver处理基础请求的基类
def handle(self): # 必须有一个handle函数
# print(self.request.recv(1024)) # request相当于一个conn(一个客户端连接上来的连接符)
while True:
msg = self.request.recv(1024).decode('utf-8') print(msg)
info = input('输入发送到客户端的内容:')
self.request.send(info.encode('utf-8')) if __name__ == '__main__':
server = socketserver.ThreadingTCPServer(('127.0.0.1', 8080), MyServer) # 目的用多线程处理每个客户端连接请求.参数为ip端口与Myserver类名,得到一个对象
server.serve_forever() # 永远起一个socketserver tcp服务.

  客户端1

import socket

sk = socket.socket()

ip_port = ('127.0.0.1', 8080)

sk.connect(ip_port)

while True:
msg = input('发送到服务端的内容: ') if msg == 'q':
sk.send(b'q')
break sk.send(('饿了么:' + msg).encode('utf-8'))
ret = sk.recv(1024).decode('utf-8')
print(ret) sk.close()

  客户端2

import socket

sk = socket.socket()

ip_port = ('127.0.0.1', 8080)

sk.connect(ip_port)

while True:
msg = input('发送到服务端的内容: ') if msg == 'q':
sk.send(b'q')
break sk.send(('饿了么:' + msg).encode('utf-8'))
ret = sk.recv(1024).decode('utf-8')
print(ret) sk.close()

最新文章

  1. [Keras] Install and environment setting
  2. blowfish ECB decode
  3. Win7环境下Eclipse连接Hadoop2.2.0
  4. JavaScript Patterns 3.6 Regular Expression Literal
  5. Apache Commons CLI 简介
  6. 51中的C语言数据类型
  7. POJ3253 Haffman
  8. 您在基于 Windows 7 的或基于 Windows Server 2008 R2 的计算机上读取器中插入智能卡时出现错误消息:"设备驱动程序软件未能成功安装"
  9. 汉字转拼音的vc++程序源代码
  10. Java完成简单猜数字游戏v2.0
  11. mac攻略(2) -- apache站点配置
  12. 《第六周java学习笔记》
  13. oracle表被锁(delete或update一直处于执行状态)的处理办法。
  14. Ajax请求 一般处理程序参数传递的几种方式
  15. python的类和对象
  16. 转录本组装软件StringTie的使用说明
  17. AngularJS初始化静态模板
  18. Vue页面跳转$router.push 的用法
  19. eclipse to avoid the message, disable the...
  20. OpenCV人脸识别的原理 .

热门文章

  1. 教你怎么写jQuery的插件
  2. 智能DNS的实现
  3. Shell脚本学习指南笔记(一)
  4. MySQL开启日志记录执行过的SQL语句
  5. MAP;MLE
  6. Redis学习笔记(四)——数据结构之List
  7. MATLAB中的参数估计函数详解及调用示例【联合整理】
  8. 我的第二次C语言作业
  9. solr 文档一
  10. Lagrange插值C++程序