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中使用smtplib和email模块发送邮件实例
Apr 22 Python
Python使用百度API上传文件到百度网盘代码分享
Nov 08 Python
Python实现图片转字符画的示例代码
Aug 21 Python
Python微信公众号开发平台
Jan 25 Python
高效使用Python字典的清单
Apr 04 Python
python 获取list特定元素下标的实例讲解
Apr 09 Python
OpenCV+python手势识别框架和实例讲解
Aug 03 Python
python实现最小二乘法线性拟合
Jul 19 Python
python计算n的阶乘的方法代码
Oct 25 Python
如何在windows下安装Pycham2020软件(方法步骤详解)
May 03 Python
用python画城市轮播地图
May 28 Python
python基础之函数的定义和调用
Oct 24 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中simplexml_load_string函数使用说明
2011/01/01 PHP
win7+apache+php+mysql环境配置操作详解
2013/06/10 PHP
解析PHP中intval()等int转换时的意外异常情况
2013/06/21 PHP
PHP的基本常识小结
2013/07/05 PHP
PHP CURL获取返回值的方法
2014/05/04 PHP
PHP的运行机制与原理(底层)
2015/11/16 PHP
jquery png 透明解决方案(推荐)
2010/08/21 Javascript
jquery取消事件冒泡的三种方法(推荐)
2016/05/28 Javascript
很棒的Bootstrap选项卡切换效果
2016/07/01 Javascript
Angular.Js的自动化测试详解
2016/12/09 Javascript
Angular之指令Directive用法详解
2017/03/01 Javascript
javascript与PHP动态往类中添加方法对比
2018/03/21 Javascript
jQuery实现验证用户登录
2019/12/10 jQuery
vue 清空input标签 中file的值操作
2020/07/21 Javascript
Python编程中的反模式实例分析
2014/12/08 Python
Python中条件判断语句的简单使用方法
2015/08/21 Python
Python闭包执行时值的传递方式实例分析
2018/06/04 Python
PyQt4 treewidget 选择改变颜色,并设置可编辑的方法
2019/06/17 Python
基于Python获取城市近7天天气预报
2019/11/26 Python
Python 实现一个简单的web服务器
2021/01/03 Python
德国街头和运动文化高品质商店:BSTN Store
2017/08/26 全球购物
美国男士西装打折店:Jos. A. Bank
2017/11/13 全球购物
英国评分最高的女性剃须刀订阅盒:FFS Beauty
2018/01/25 全球购物
Moda Italia荷兰:意大利男士服装
2019/08/31 全球购物
团日活动策划书
2014/02/01 职场文书
《王二小》教学反思
2014/02/27 职场文书
2014两会学习心得:榜样精神伴我行
2014/03/17 职场文书
公司担保书格式范文
2014/05/12 职场文书
科长竞聘演讲稿
2014/05/16 职场文书
小学捐书活动总结
2014/07/05 职场文书
改革共识倡议书
2014/08/29 职场文书
骨干教师考核评语
2014/12/31 职场文书
预备党员个人总结
2015/02/14 职场文书
行政处罚告知书
2015/07/01 职场文书
人力资源部工作计划
2019/05/14 职场文书
使用SQL实现车流量的计算的示例代码
2022/02/28 SQL Server