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类继承用法实例分析
May 27 Python
pyqt 多窗口之间的相互调用方法
Jun 19 Python
python IDLE 背景以及字体大小的修改方法
Jul 12 Python
python socket通信编程实现文件上传代码实例
Dec 14 Python
Python lxml模块的基本使用方法分析
Dec 21 Python
TensorFlow梯度求解tf.gradients实例
Feb 04 Python
Python装饰器实现方法及应用场景详解
Mar 26 Python
Python QTimer实现多线程及QSS应用过程解析
Jul 11 Python
python入门:argparse浅析 nargs='+'作用
Jul 12 Python
Python中常见的导入方式总结
May 06 Python
python scrapy简单模拟登录的代码分析
Jul 21 Python
Python代码实现双链表
May 25 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
PHP memcache扩展的三种安装方法
2009/04/26 PHP
PHP获取url的函数代码
2011/08/02 PHP
用Php编写注册后Email激活验证的实例代码
2013/03/11 PHP
php数组转成json格式的方法
2015/03/09 PHP
php技巧小结【推荐】
2017/01/19 PHP
使用FlexiGrid实现Extjs表格效果方法分享
2014/12/16 Javascript
jQuery中end()方法用法实例
2015/01/08 Javascript
jQuery中append()方法用法实例
2015/01/08 Javascript
javascript编写贪吃蛇游戏
2015/07/07 Javascript
Bootstrap实现默认导航栏效果
2020/09/21 Javascript
jQuery实现鼠标经过时高亮,同时其他同级元素变暗的效果
2016/09/18 Javascript
jQuery通过ajax方法获取json数据不执行success的原因及解决方法
2016/10/15 Javascript
实现点击下箭头变上箭头来回切换的两种方法【推荐】
2016/12/14 Javascript
js图片放大镜实例讲解(必看篇)
2017/07/17 Javascript
jQuery上传插件webupload使用方法
2017/08/01 jQuery
详解Vue基于 Nuxt.js 实现服务端渲染(SSR)
2018/04/05 Javascript
简述JS控制台的使用
2018/07/15 Javascript
微信小程序select下拉框实现源码
2019/11/08 Javascript
jQuery实现全选按钮
2021/01/01 jQuery
[42:32]DOTA2上海特级锦标赛B组资格赛#2 Fnatic VS Spirit第二局
2016/02/27 DOTA
Python实现Windows上气泡提醒效果的方法
2015/06/03 Python
python 性能优化方法小结
2017/03/31 Python
Python数据分析matplotlib设置多个子图的间距方法
2018/08/03 Python
Python实现分段线性插值
2018/12/17 Python
python爬虫之urllib,伪装,超时设置,异常处理的方法
2018/12/19 Python
python 3.7.4 安装 opencv的教程
2019/10/10 Python
python GUI库图形界面开发之PyQt5控件数据拖曳Drag与Drop详细使用方法与实例
2020/02/27 Python
End Clothing美国站:英国男士潮牌商城
2018/04/20 全球购物
英国大码女性时装零售商:Evans
2018/08/29 全球购物
互联网创业计划书的书写步骤
2014/01/28 职场文书
食品采购员岗位职责
2014/04/14 职场文书
政协会议宣传标语
2014/10/09 职场文书
干部作风建设心得体会
2014/10/22 职场文书
运动会观后感
2015/06/09 职场文书
保护环境建议书作文400字
2015/09/14 职场文书
在项目中使用redis做缓存的一些思路
2021/09/14 Redis