Python两台电脑实现TCP通信的方法示例


Posted in Python onMay 06, 2019

为了实现Nao机器人与电脑端的TCP通信,于是研究了一下Python实现TCP通信,在网上也看到了很多例子,但大多都是在一台机器上验证。在两台机器上使用,出了一些小故障。

注意:若两台电脑通信出了问题,若能ping通!大部分是防火墙的问题。一开始A做服务器,B做客户端能实现;B做服务器,A做客户端,A就不能连接到B。我换了一台电脑A就能实现通信了。应该是A的防火墙需要设置。但是A的防火墙全关了也不能实现。真是很让人搞不懂。

首先是服务器端代码:

# -*- encoding: utf-8 -*-
import socket
 
IP = "192.168.1.153" #服务器端可以写"localhost",可以为空字符串"",可以为本机IP地址
port = 40005 #端口号
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((IP,port))
s.listen(1)
print('listen at port :',port)
conn,addr = s.accept()
print('connected by',addr)
 
while True:
  data = conn.recv(1024)
  data = data.decode()#解码
  if not data:
    break
  print('recieved message:',data)
  send = raw_input('return:')#python27要写raw_input,python3.X可写input
  conn.sendall(send.encode())#再编码发送
 
 
conn.close()
s.close()

客户端代码:

# -*- encoding: utf-8 -*-
import socket
import sys
IP = '192.168.1.153' #填写服务器端的IP地址
port = 40005 #端口号必须一致
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
try:
  s.connect((IP,port))
except Exception as e:
  print('server not find or not open')
  sys.exit()
while True:
  trigger = raw_input("send:")
  s.sendall(trigger.encode())
  data = s.recv(1024)
  data = data.decode()
  print('recieved:',data)
  if trigger.lower() == '1':#发送1结束连接
    break
s.close()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
在漏洞利用Python代码真的很爽
Aug 26 Python
Python如何实现守护进程的方法示例
Feb 08 Python
python爬虫实战之最简单的网页爬虫教程
Aug 13 Python
用matplotlib画等高线图详解
Dec 14 Python
python如何修改装饰器中参数
Mar 20 Python
Python调用C++,通过Pybind11制作Python接口
Oct 16 Python
Python3使用Matplotlib 绘制精美的数学函数图形
Apr 11 Python
python对绑定事件的鼠标、按键的判断实例
Jul 17 Python
如何为Python终端提供持久性历史记录
Sep 03 Python
Python利用FFT进行简单滤波的实现
Feb 26 Python
Python用access判断文件是否被占用的实例方法
Dec 17 Python
Python循环之while无限迭代
Apr 30 Python
python3利用Socket实现通信的方法示例
May 06 #Python
75条笑死人的知乎神回复,用60行代码就爬完了
May 06 #Python
Python Flask 搭建微信小程序后台详解
May 06 #Python
Python玩转PDF的各种骚操作
May 06 #Python
使用Python和Prometheus跟踪天气的使用方法
May 06 #Python
Python中常用的8种字符串操作方法
May 06 #Python
基于python if 判断选择结构的实例详解
May 06 #Python
You might like
风味层面去分析咖啡油脂
2021/03/03 咖啡文化
如何使用脚本模仿登陆过程
2006/11/22 PHP
php可应用于面包屑导航的递归寻找家谱树实现方法
2015/02/02 PHP
兼容IE和FF的js脚本代码小结(比较常用)
2010/12/06 Javascript
jquery调用asp.net 页面后台的实现代码
2011/04/27 Javascript
JS(JQuery)操作Array的相关方法介绍
2014/02/11 Javascript
为什么Node.js会这么火呢?Node.js流行的原因
2014/12/01 Javascript
JavaScript中的object转换成number或string规则介绍
2014/12/31 Javascript
Javascript基础教程之比较null和undefined值
2016/05/16 Javascript
Bootstrap被封装的弹层
2016/07/20 Javascript
详解AngularJS中的表单验证(推荐)
2016/11/17 Javascript
Javascript 实现放大镜效果实例详解
2016/12/03 Javascript
Bootstrap面板使用方法
2017/01/16 Javascript
微信小程序 视图容器组件的详解及实例代码
2017/01/19 Javascript
jquery mobile实现可折叠的导航按钮
2017/03/11 Javascript
基于js文件加载优化(详解)
2018/01/03 Javascript
JavaScript浅层克隆与深度克隆示例详解
2020/09/01 Javascript
深入了解Vue动态组件和异步组件
2021/01/26 Vue.js
利用Python中的mock库对Python代码进行模拟测试
2015/04/16 Python
Python爬虫实例爬取网站搞笑段子
2017/11/08 Python
Python使用django框架实现多人在线匿名聊天的小程序
2017/11/29 Python
让你Python到很爽的加速递归函数的装饰器
2019/05/26 Python
解决Django连接db遇到的问题
2019/08/29 Python
如何用Matlab和Python读取Netcdf文件
2021/02/19 Python
纯CSS3实现漂亮的input输入框动画样式库(Text input love)
2018/12/29 HTML / CSS
html5指南-7.geolocation结合google maps开发一个小的应用
2013/01/07 HTML / CSS
AmazeUI 网格的实现示例
2020/08/13 HTML / CSS
早读迟到检讨书
2014/01/24 职场文书
师范学院毕业生求职信
2014/06/24 职场文书
市场策划求职信
2014/08/07 职场文书
教师业务学习材料
2014/12/16 职场文书
旷工辞退通知书
2015/04/17 职场文书
航班延误投诉信
2015/07/02 职场文书
Oracle11g r2 卸载干净重装的详细教程(亲测有效已重装过)
2021/06/04 Oracle
python井字棋游戏实现人机对战
2022/04/28 Python
MySQL数据库查询之多表查询总结
2022/08/05 MySQL