【Python】同一网络下,手机和电脑进行socket通信

news2024/11/26 18:52:22

同一网络下,手机和电脑进行socket通信

最近在学python网络编程,发现socket可以进行跨主机的进程通信,于是尝试用电脑作为服务端,手机作为客户端,来进行socket通信。

电脑端准备

1.电脑开启热点(非必须)

注:只要电脑和手机处于同一个网络即可,比如连接同一个路由器。

手机连接到电脑热点,此时可查看电脑给手机分配的ip。

在这里插入图片描述

测试是否能否ping通手机:

在这里插入图片描述

2.关闭操作系统防火墙

测试完最好恢复。

在这里插入图片描述

若是不关,可能在运行python程序时,出现以下报错:

[WinError 10061] 由于目标计算机积极拒绝,无法连接。

此时必须关闭防火墙。

3.运行python程序:

#!/usr/bin/python3
# 文件名:server.py

# 导入 socket、sys 模块
import socket
import sys

# 创建 socket 对象
serversocket = socket.socket(
   socket.AF_INET, socket.SOCK_STREAM)

# 获取本地主机名
# host = socket.gethostname()
host = '192.168.137.1'
port = 9999

print(host, port)

# 绑定端口号
serversocket.bind((host, port))

# 设置最大连接数,超过后排队
serversocket.listen(5)

n = 1
while True:
   # 建立客户端连接
   clientsocket, addr = serversocket.accept()
   print("连接地址: %s" % str(addr))
   msg = '测试消息:' + str(n) + "\r\n"
   clientsocket.send(msg.encode('utf-8'))
   clientsocket.close()
   n += 1

其中host和port是配置关键:

host:

host为电脑IP地址:

参考:https://blog.csdn.net/lizhenglyg/article/details/97626752

在这里插入图片描述

我这里连的是wifi热点,所以是192.168.137.1, 若是电脑和手机都连的同一个路由器,则用192.168.0.104.

Post

端口号可以自定义,我定的9999.

手机端准备

可以下载一个码农宝,里面带socket助手
在这里插入图片描述

配置服务端的IP和端口进行测试:

在这里插入图片描述
可以看到接收到服务器发过来的消息了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/92390.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[附源码]Python计算机毕业设计SSM基于vue的图书管理系统2022(程序+LW)

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

java递归实现多级Map集合合并(结合实际场景)

合并Map集合 合并Map集合有很多方法,例如Map自生提供的putAll()方法。但是这种方法只能合并一层的集合,如果是多层的呢? 场景 现在有一个yml配置文件,由于项目部署在多台服务器上,而且每台服务器上的配置有些许差异…

Ajax(四)

1.模板引擎 1.1 模板引擎的基本概念 1.2 什么是模板引擎 不需要再用字符串拼接 1. 3模板引擎的好处 1.4 art-template模板引擎 art-template 是一个简约、超快的模板引擎。 中文官网首页为 http://aui.github.io/art-template/zh-cn/index.html 1.4.1 art-template模板引擎的…

为什么Python现在这么火?

Python可以说是目前最火的网红编程语言,虽然它在近几年在逐渐流行起来,但其实它已经发展了近三十年。那么,为什么Python现在这么火呢?一方面人工智能和大数据的崛起带红了Python,另一方面无论是软件开发者还是非编程工…

抗肿瘤的靶向药物——艾美捷西妥昔单抗Cetuximab说明

近年来恶性肿瘤极大的治疗进展是靶向新药的开发与使用。表皮生长因子受体EGFR是一种具有酪氨酸激酶活性的跨膜受体,受表皮生长因子EGF和转化生长因子-α(TGF-α)的刺激。多种肿瘤细胞株过度表达EGFR,包括25%~80%的结直肠癌CRC细胞。 西妥昔单…

RSS Can:使用 Golang Rod 解析浏览器中动态渲染的内容:(四)

第四篇文章,来聊聊 Golang 生态中如何“遥控”浏览器,更简单、可靠的使用基于 CDP (Chrome DevTools Protocol)协议的浏览器作为容器,获取诸如微博、B 站 这类动态渲染内容信息,将它们转换为 RSS 订阅源。 …

【C语言进阶】不会处理字符串?一万三千五百字包会保姆级教程

目录 😘前言😘: 一、字符串处理函数介绍🤯: 1.strlen 函数🥎: 2.strcpy 函数⚾: 3.strcat 函数🏀: 4.strcmp 函数🏈: 5.strncpy 函数…

WSL_03 WSL2 从C盘迁移到D盘

文章目录1 动机1 查看虚拟机状态,并关闭要迁移的虚拟机2 迁移WSL22.1 出现的问题:已存在具有提供的名称的分发(已解决)3 设置启动时的默认用户,没有设置默认为root参考1 动机 WSL2默认安装在C盘中,win R运行中使用%localappdata…

python科学计算 之 Numpy库的使用详解

目录 一:Numpy简介 二:ndarray的创建 三:ndarray的属性 四:切片 索引 五:数组的轴(二维数组) 六:二维数组 切片索引 七:高级索引 八:Numpy广播 九:ufunc函数 算…

使用pypy来提升你的python项目性能

一、PyPy介绍 PyPy是用Python实现的Python解释器的动态编译器,是Armin Rigo开发的产品,能够提升我们python项目的运行速度。PyPy 是利用即时编译的 Python 的替代实现。背后的原理是 PyPy 开始时就像一个解释器,直接从源文件运行我们的 Pyth…

Revit二次开发小技巧(十五)构件的最小矩形外轮廓

前言:我们会经常遇到需要计算一个构件的最小外轮廓,一般直接取BoundingBox只有最大和最小值坐标,也是基于x-y坐标系下的。往往不是最小的矩形,所以分享下面的算法来计算最小的外轮廓,条件为法向量是指向Z轴的&#xff…

mqtt服务器搭建与qt下的mqtt客户端实现

一、mqtt介绍 MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一个基于客户端-服务器的消息发布/订阅传输协议。MQTT协议是轻量、简单、开放和易于实现的,这些特点使它适用范围非常广泛。在很多情…

前端基础(九)_CSS的三大特征

CSS的三大特征 1、层叠性 1.样式冲突&#xff0c;遵循就近原则 2.样式不冲突&#xff0c;不会层叠&#xff0c;会叠加 1.1.样式冲突&#xff0c;遵循就近原则例子&#xff1a; <!DOCTYPE html> <html lang"en"><head><meta charset"UT…

[附源码]Nodejs计算机毕业设计基于的服装商城系统Express(程序+LW)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程。欢迎交流 项目运行 环境配置&#xff1a; Node.js Vscode Mysql5.7 HBuilderXNavicat11VueExpress。 项目技术&#xff1a; Express框架 Node.js Vue 等等组成&#xff0c;B/S模式 Vscode管理前后端分…

Java优雅的记录日志:log4j实战篇

写在前面 项目开发中&#xff0c;记录错误日志有以下好处&#xff1a; 方便调试 便于发现系统运行过程中的错误 存储业务数据&#xff0c;便于后期分析 在java中&#xff0c;记录日志有很多种方式&#xff1a; 自己实现&#xff1a;自己写类&#xff0c;将日志数据&#xf…

HTTP Range:范围请求

文章目录HTTP 范围请求HTTP 范围请求 Range 头是在 HTTP/1.1 协议中新增的一个请求头。包含 Range 头的请求通常称为范围请求&#xff0c;因为 Range 头允许服务器只发送部分响应到客户端&#xff0c;它是下载工具&#xff08;例如迅雷&#xff09;实现多线程下载的核心所在&a…

Python -- 列表

目录 1.列表的基本使用 1.1 列表的格式 1.2 使用下标获取列表元素 2.列表的增删改查 2.1 添加元素 2.2 修改元素 2.3 查找元素 2.4 删除元素 2.5 排序&#xff08;sort、reverse&#xff09; 3.列表遍历 3.1 使用while循环 3.2 使用for循环 4.列表的嵌套 1.列表的基本…

面向切面编程 AOP

AOPAOP的概念AOP &#xff08;底层原理&#xff09;AOP 底层使用动态代理AOP &#xff08; JDK 动态代理&#xff09;首先我们来看一下 Spring 的百度百科   Spring 框架是一个开放源代码的 J2EE 应用程序框架&#xff0c;由 Rod Johnson 发起&#xff0c;是针对 Bean 的生命…

cpp项目中遇到的一些错误

1.解决由于找不到xxx.dll&#xff0c;无法继续执行代码的问题 解决由于找不到xxx.dll&#xff0c;无法继续执行代码的问题_happylife_mini的博客-CSDN博客_由于找不到emp.dll无法继续执行代码在用vs写项目&#xff0c;或者你下载github上的C代码的时候&#xff0c;是不是经常遇…

【Redis技术探索】「底层架构原理」探索分析服务系统的网络架构和线程模型

Redis网络基础架构 网络编程离不开Socket&#xff0c;网络I/O模型最常用的无非是同步阻塞、同步非阻塞、异步阻塞、异步非阻塞&#xff0c;高性能网络服务器最常见的线程模型也就是基于EventLoop模式的单线程模型。 Redis基础组建结构 Redis网络层基础组件主要包括四个部分&a…