socket 套接字服务器端和客户端发送信息
- import socket
- import threading
- host=''
- port=6889
- def cilenThred(conn,addr):
- print("成功接受客户端{}的连接:{}".format(addr[0],str(addr[1])))
- #服务器向客户端发送信息说明已经连接成功
- msg='你已经成功连接到服务器'
- conn.sendall(bytes(msg,encoding="utf-8"))
- while True:
- data=conn.recv(1024)
- print("服务器接受到的数据为{}".format(str(data,encoding="utf-8")))
- message='server>>{}'.format(str(data,encoding="utf-8"))
- conn.sendall(bytes(message,encoding="utf-8"))
- chioce = str(conn.recv(1024),encoding="utf-8")
- if chioce=="exit":
- conn.close()
- break
- else:
- pass
- try:
- s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
- #绑定ip地址和端口号
- s.bind((host,port))
- print('成功绑定了ip地址,端口号为{}'.format(port))
- #服务器创建监听
- s.listen(10)
- print("创建监听模式")
- while True:
- #成功接收客户端的连接,兵返回连接对象和地址
- conn,addr=s.accept()
- t=threading.Thread(target=cilenThred,args=(conn,addr))
- t.start()
- except socket.error as msg:
- print("socket出现错误,错误为{}".format(msg))
- finally:
- s.close()
客户端:
- import socket
- import sys
- host="localhost"
- port=6889
- try:
- s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
- print('成功创建socket对象')
- s.connect((host,port))
- print("成功连接到服务器端")
- reply=str(s.recv(1024),encoding="utf-8")
- print("成功接受到服务器返回的内容:{}".format(reply))
- while True:
- message=input("请输入要发送到服务器的信息》》")
- s.sendall(bytes(message,encoding="utf-8"))
- print("向服务器发送请求成功")
- reply1=str(s.recv(1024),encoding="utf-8")
- print("成功接受到服务器返回的内容{}".format(reply1))
- chioce=input("是否继续输入?(y/n)")
- if chioce.lower()=="y":
- s.sendall(bytes("ok",encoding="utf-8"))
- pass
- else:
- s.sendall(bytes("exit",encoding="utf-8"))
- print("输入结束")
- break
- except socket.error as msg:
- print("创建socket错误,错误为{0}".format(msg))
- sys.exit(-1)
- finally:
- s.close()
socket 套接字服务器端和客户端发送信息的更多相关文章
- python socket 套接字编程 单进程服务器 实现多客户端访问
服务器: import socket #单进程服务器 实现多客户端访问 IO复用 #吧所有的客户端套接字 放在一个列表里面,一次又一次的便利过滤 server = socket.socket(sock ...
- Python进阶----SOCKET套接字基础, 客户端与服务端通信, 执行远端命令.
Python进阶----SOCKET套接字基础, 客户端与服务端通信, 执行远端命令. 一丶socket套接字 什么是socket套接字: 专业理解: socket是应用层与TCP/IP ...
- socket套接字编程
一.概述 1.socket是一种进程间通信方式,既可以用于一台机器,也可以用于网络.常用语C/S模型. 2.可以跨越Windows和Linux操作系统,可以跨越不同语言. 3.注意网络字节序和主机字节 ...
- 网络编程初识和socket套接字
网络的产生 不同机器上的程序要通信,才产生了网络:凡是涉及到倆个程序之间通讯的都需要用到网络 软件开发架构 软件开发架构的类型:应用类.web类 应用类:qq.微信.网盘.优酷这一类是属于需要安装的桌 ...
- Python之异常处理和socket套接字连接7
一.异常处理 1)异常处理的使用意义 什么是异常处理 异常是程序发生错误的信号,即程序一旦出错就会立刻产生一个异常,如果该异常没有被处理 那么异常就抛出来,程序的运行也随之终止 异常分为三部分: 异常 ...
- Python Web学习笔记之socket套接字
套接字是为特定网络协议(例如TCP/IP,ICMP/IP,UDP/IP等)套件对上的网络应用程序提供者提供当前可移植标准的对象.它们允许程序接受并进行连接,如发送和接受数据.为了建立通信通道,网络通信 ...
- 19 网络编程--Socket 套接字方法
1.Socket(也称套接字)介绍 socket这个东东干的事情,就是帮你把tcp/ip协议层的各种数据封装啦.数据发送.接收等通过代码已经给你封装好了 ,你只需要调用几行代码,就可以给别的机器发消息 ...
- 19、网络编程 (Socket套接字编程)
网络模型 *A:网络模型 TCP/IP协议中的四层分别是应用层.传输层.网络层和链路层,每层分别负责不同的通信功能,接下来针对这四层进行详细地讲解. 链路层:链路层是用于定义物理传输通道,通常是对某些 ...
- 31_网络编程(Socket套接字编程)_讲义
今日内容介绍 1.网络三要素及传输协议 2.实现UDP协议的发送端和接收端 3.实现TCP协议的客户端和服务器 4.TCP上传文件案例 01网络模型 *A:网络模型 TCP/IP协议中的四层分别是应用 ...
随机推荐
- form表单中button按钮返回上一页解决办法
解决Form中button按钮不好用的问题解决办法. 方法一: 1.在Form表单标签中国增加一个属性,如下图,红框处 2.返回按钮样式 3.onclick方法需要跳转的页面,遮挡处为需要返回的页面 ...
- mysql 从一个表查询数据插入另一个表或当前表
mysql insert into 表明(uid,lng,lat) SELECT uuid,lng,lat FROM 表明
- set操作
Set操作,Set集合就是不允许重复的列表 sadd(name,values) # name对应的集合中添加元素 scard(name) 获取name对应的集合中元素个数 sdiff(keys, *a ...
- adb连接夜神模拟器执行命令
1.要进入夜神模拟器的bin目录 2.连接夜神模拟器 3.执行命令 cd %~dp0 nox_adb.exe connect 127.0.0.1>nul set num= :ok set /a ...
- BFC知识点概括与总结
什么是BFC?如何生成一个BFC?BFC有什么作用? 一:什么是BFC? 首先了解CSS中两个概念:box和formatting context. Box:CSS布局中的基本单位.一个页面由多个box ...
- Redis实战 - 5事务:multi、exec和watch
介绍 redis的目标的是: 简洁,高效,由于事务本身就是一个很复杂的东西,所有我们不能把事务做的太复杂. DISCARD 取消事务,放弃执行事务块内的所有命令. EXEC 执行所有事务块内的命令. ...
- RabbitMQ通过Exchange.topic 对routingkey 进行正则表达式匹配
消费者: static void Main(string[] args) { ConnectionFactory factory = new ConnectionFactory() { HostNam ...
- jedis keys和scan操作
关于redis的keys命令的性能问题 KEYS pattern 查找所有符合给定模式 pattern 的 key . KEYS * 匹配数据库中所有 key . KEYS h?llo 匹配 hell ...
- CMD运行命令每次都要进入很麻烦
20:35:52 win+r 输入regedit 进入注册表 找到HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor项 创建AutoRun ...
- setOnTouchListener在小米手机中不走ACTION_UP而是走ACTION_CANCEL
单点触控: MotionEvent.ACTION_DOWN:手指 初次接触到屏幕 时触发. MotionEvent.ACTION_MOVE:手指 在屏幕上滑动 时触发,会多次触发. MotionEve ...