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协议中的四层分别是应用 ...
随机推荐
- noip2018游(AFO)记
Day 0 到学车了,已经差不多四点了,领完一小袋比赛要用的就匆匆回了宾馆. 话说之前看地图的时候我们的宾馆最远,而且名字听起来并没有怎么高大上, 一看隔壁度豪大酒店就感觉应该比我们的酒店好.然鹅到了 ...
- 01pxc集群的部署
尽可能的控制pxc集群的规模,pxc集群节点越多,数据同步的速度就越慢 所有pxc节点的硬件配置最好相同,pxc集群数据同步的速度取决于配置最低的节点 Pxc集群只支持innodb引擎 安装pxc集群 ...
- 【python】面向对象编程之@property、@setter、@getter、@deleter用法
@property装饰器作用:把一个方法变成属性调用 使用@property可以实现将类方法转换为只读属性,同时可以自定义setter.getter.deleter方法 @property&@ ...
- phpredis扩展实现LBS距离计算和范围筛选
来源 public function geo(){ $redis = new \redis(); $redis -> connect('127.0.0.1',6379); //位置增加 $res ...
- 【mongo】查询超时处理
使用no_cursor_timeout collection = self.db[tb_name] cols = collection.find(no_cursor_timeout=True) for ...
- spring boot正常启动但是访问会找不到“ localhost 的网页”的错误
最近启动springboot项目访问localhost老报找不到网页,找了很久发现yml配置文件中配置了“context.path”,只要在端口号后面加上context.path地址就可以访问了. 如 ...
- 《剑指offer》和为S的连续正数序列
本题来自<剑指offer> 反转链表 题目: 思路: C++ Code: Python Code: 总结:
- [原创]基于Zynq SDIO WIFI 2.4G/5G SotfAP STA
支持正基WiFi模块.高通WiFi模块: 2.4G速率: 5G AC速率: 支持SoftAP.STA模式:
- 利用easygui模块编写的华氏温度与摄氏温度转换的小程序
-*- coding:utf-8 -*- #Author:'Lmc' #DATE: 2019/4/23/0023 下午 4:23:08 #FileName:tem_compare_gui.PY imp ...
- 向mysql中导入向导时如表xlsx
如果出现这种问题那么是因为没有打开这个文件,如果想导入这个文件需要到开这个文件,然后再导入