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协议中的四层分别是应用 ...
随机推荐
- linux 清空catalina.out日志 不需要重启tomcat(五种方法)【转】
1.重定向方法清空文件 [root@localhost logs]# du -h catalina.out 查看文件大小17M catalina.out[root@localhost logs] ...
- Gitlab_ansible_jenkins三剑客⑤jenkins Pipeline-job的使用
Pipeline-job的使用 创建Pipeline任务 找到root用户的id 编写pipeline脚本 #!groovy pipeline{ agent {node {label 'master' ...
- USACO15DEC最大流MaxFlow
传送门 这是个假的最大流,其实是一个用树剖+线段树就能解决的事情 题目中的道路会对路径上的造成压力,最后询问最大的压力 其实就等价于对每条路径上的点加上 1 的权值,并且最后询问整个树中的最大值 然后 ...
- echarts-map-区县
首先通过百度获取经纬度 <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type&q ...
- 【JS】Javascript数组操作
1.提取数组中每个对象的某个属性组成新的数组 如数组为: let arry = [ { name: 'zhao', 'age': 18 }, { name: 'qian', 'age': 19 }, ...
- poj 1741
点分治入门题 首先发现是树上点对的问题,那么首先想到上点分治 然后发现题目要求是求出树上点对之间距离小于等于k的对数,那么我们很自然地进行分类: 对于一棵有根树,树上的路径只有两种:一种经过根节点,另 ...
- js 实现控制点击事件在特定的毫秒内 只允许点击一次(防止重复点击)
代码 第一种方法 var forbidRepeartClick = (function(){ var instance = null; var canClick = true; function Bu ...
- git clone pytorch或caffe2速度慢的解决办法
caffe2官方代码,现在已经放在pytorch项目中了. 因此,源码编译pytorch或caffe2,都需要 https://github.com/pytorch/pytorch 下载代码. 由于p ...
- thinkPHP实现APP微信支付
控制器 class Pay extends Controller { const WX_PAY_URL = "https://api.mch.weixin.qq.com/pay/unifie ...
- 基本urllib库
urlib库 urllib库是Python中一个最基本的网络请求库.可以模拟浏览器的行为,向指定的服务器发送一个请求,并可以保存服务器返回的数据. urlopen函数: 在Python3的urllib ...