Flask服务器与客户端基本通信【Unity网络编程(三)】

这篇具有很好参考价值的文章主要介绍了Flask服务器与客户端基本通信【Unity网络编程(三)】。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

这里先演示基于Python的客户端和服务器的登录实现。

1.Flask服务器端(GET和POST请求接收实现)

1.GET和POST区别:(简单理解)

1.GET因为是读取,就可以对GET请求的数据做缓存(浏览器)。不能随意多次执行。POST不能缓存(所以如果重新执行POST请求,浏览器会弹框提示你可能对丢失信息)

2.GET和POST都可以请求和发送数据(GET只能url传参数,所以隐私性,安全性较差,长度也有限制,POST可以多种),但是GET倾向获取数据,POST倾向发送数据

3.对于 GET 方式的请求,浏览器会把 http header 和 data 一并发送出去;对于 POST,浏览器先发送 header,服务器响应 100, 浏览器再继续发送 data

2.使用GET请求做登录功能

其中@app.route('/login/',methods=['GET']),url后面可以传递参数,例如客户端请求的url应该形如是http:127.0.0.1:5566/login/?username=XXX&pwd=XXX

是使用程序实例提供的 app.route 修饰器,把修饰的函数注册为路由,这样通过访问url地址,就会触发服务器执行下面的函数(视图函数)

# 客户端(例如 Web 浏览器)把请求发送给 Web 服务器,Web 服务器再把请求发送给 Flask
from flask import Flask,request
from flask import request

app = Flask(__name__)
@app.route('/login/',methods=['GET'])
def login():
    username = request.args.get('username')
    pwd = request.args.get('pwd')
    if username=='admin' and pwd=='666666':
        return "Success"
    return "fail"

if __name__=='__main__':
    print(app.url_map)#打印url和视图的函数映射关系
    app.run(host='127.0.0.1',port=5566) #服务器的内网IP地址和监听端口

3.使用POST方法接收json数据

服务器接收json数据,利用json进行转换为字典数据,并且返回json数据

@app.route('/post_test/',methods=['POST'])
def get_result():
    # 获取request传入的数据
    str = request.get_data(as_text=True) # 如果有多个request?
    # 用json去load
    data_dict = json.loads(str)
    print(data_dict)
    # 处理逻辑
    val1 = data_dict['key1']+'6'
    val2 = data_dict['key1']+'7'
    return json.dumps({'result1':val1,'result2':val2})

2.客户端发送请求:

1.发送登录请求:(GET)

import requests

url = "http://127.0.0.1:5566"
headers = {"Content-Type": "application/json"} 
posturl = url + "/login/?username=admin&pwd=666666"
response = requests.get(headers=headers,url=posturl)
print(response.content)
res = response.content.decode('utf-8') # 码转字符串
print(res)

2.发送json数据:(POST)

import requests
import json

url = "http://127.0.0.1:5566"
headers = {"Content-Type": "application/json"} 
posturl = url + "/post_test/"
postdata = {'key1':'value1','key2':'value2'}
response = requests.post(headers=headers,url=posturl,data=json.dumps(postdata))
res = response.content.decode('utf-8') # 码转字符串
print(res)

3.测试结果

首先运行服务器,然后运行客户端

1.通过服务器可以查看url映射:(即url和视图函数的对应映射关系)

Flask服务器与客户端基本通信【Unity网络编程(三)】

2.服务器接收数据:

Flask服务器与客户端基本通信【Unity网络编程(三)】

3.客户端发送并接收返回信息:

Flask服务器与客户端基本通信【Unity网络编程(三)】文章来源地址https://www.toymoban.com/news/detail-406425.html

到了这里,关于Flask服务器与客户端基本通信【Unity网络编程(三)】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ZeroTier客户端连接服务器

    ZeroTier客户端连接服务器 下载客户端 https://www.zerotier.com/download/ 加入新的网络(例如d5e04297a16fa690,由管理员提供) 管理员授权并告知服务器IP 测试连接:ping 服务器IP 使用putty, pycharm, vscode等工具连接即可 官方文档 https://docs.zerotier.com/getting-started/getting-started 注: 若路由器无法

    2024年02月09日
    浏览(34)
  • Java 构建websocket客户端,构建wss客户端,使用wss连接,并发送数据到服务器端,接收服务器端消息

    Java 构建websocket客户端,构建wss客户端,使用wss连接,并发送数据到服务器端,接收服务器端消息 回调函数处理

    2024年02月13日
    浏览(45)
  • netty构建udp服务器以及发送报文到客户端客户端详细案例

    目录 一、基于netty创建udp服务端以及对应通道设置关键 二、发送数据 三、netty中的ChannelOption常用参数说明 1、ChannelOption.SO_BACKLOG 2、ChannelOption.SO_REUSEADDR 3、ChannelOption.SO_KEEPALIVE 4、ChannelOption.SO_SNDBUF和ChannelOption.SO_RCVBUF 5、ChannelOption.SO_LINGER 6、ChannelOption.TCP_NODELAY 以上代码中

    2024年04月09日
    浏览(50)
  • TDengine服务器与客户端安装

    TDengine官网: https://docs.taosdata.com/get-started/package/ https://www.taosdata.com/assets-download/3.0/TDengine-server-3.0.4.1-Linux-x64.tar.gz tar -zxvf TDengine-server- version -Linux-x64.tar.gz tar -zxvf TDengine-server-3.0.4.1-Linux-x64.tar.gz 安装脚本在执行过程中,会通过命令行交互界面询问一些配置信息。如果希望采取无

    2024年02月05日
    浏览(45)
  • SSH客户端连接远程服务器

    目录 一、什么是客户端连接远程服务器 二、什么是服务端连接远程服务器 三、查看网络信息 1、图形程序查看网络信息 2、命令查看网络信息 四、SSH客户端(Linux) 五、SSH客户端(windows) 六、SSH远程服务器 发起连接的一方,计算机或设备(称为客户端)与另一个计算机或

    2024年02月16日
    浏览(40)
  • 1.6 服务器处理客户端请求

    客户端进程向服务器进程发送一段文本(MySQL语句),服务器进程处理后再向客户端进程发送一段文本(处理结果)。 从图中我们可以看出,服务器程序处理来自客户端的查询请求大致需要经过三个部分,分别是 连接管理 、 解析与优化 、 存储引擎 。 客户端进程可以采用我

    2024年02月11日
    浏览(27)
  • 【网络】UDP通讯(服务器/客户端)

    前言:UDP通讯实现比较简单,单某些情况下也会使用,建议先看一下说明,然后运行代码感受一下。         传输层主要应用的协议模型有两种,一种是TCP协议,另外一种则是UDP协议。TCP协议在网络通信中占主导地位,绝大多数的网络通信借助TCP协议完成数据传输。但U

    2024年02月12日
    浏览(46)
  • 爬虫——服务器渲染和客户端渲染

    目录 爬虫——服务器渲染和客户端渲染 服务器渲染 客户端渲染 专业解释 服务器渲染(Server-Side Rendering,SSR)是一种在服务器端完成页面渲染的网页处理技术。具体来说,就是服务器在响应客户端请求时,会生成页面的HTML代码,并将其返回给客户端。这种方式的优点包括更

    2024年02月06日
    浏览(46)
  • NFS服务器简介、在Linux上搭建NFS服务器和客户端,使用autofs进行NFS客户端自动挂载和卸载详解

    目录 一.NFS服务器简介 1.含义简介: 2.工作原理简介: 3.RPC服务与NFS服务配合使用 二.NFS配置文件参数命令介绍 1.主配置文件/etc/exports 2.日志文件/var/lib/nfs/ 3.showmount命令 三.主配置文件/etc/exports挂载写法 1.配置nfs服务端和客户端 2.windows客户端挂载测试 3.权限介绍 (1)rw/ro,服

    2024年02月04日
    浏览(43)
  • 当在本地,向服务器发送信息时,服务器接受信息返回给客户端,此时采用多行读取时,客户端接收不到Server的信息

        此时的服务器还在等待输入,客户端也在等待服务器的应答,产生死锁,僵持不下。 经过一番尝试后发现, 当使用单行读取的时候,使用 bufferedWriter.newLine(); 此时就不用关闭socket的输出流 , 即socket.shutdownOutput();可以省略,当然写上去也没错。 当使用多行读取的时候,

    2024年02月07日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包