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 相关文章推荐
Python3里的super()和__class__使用介绍
Apr 23 Python
编写Python脚本使得web页面上的代码高亮显示
Apr 24 Python
python+matplotlib绘制旋转椭圆实例代码
Jan 12 Python
利用Opencv中Houghline方法实现直线检测
Feb 11 Python
深入浅析python 中的匿名函数
May 21 Python
python列表使用实现名字管理系统
Jan 30 Python
opencv3/C++实现视频读取、视频写入
Dec 11 Python
Python的赋值、深拷贝与浅拷贝的区别详解
Feb 12 Python
浅谈python 中的 type(), dtype(), astype()的区别
Apr 09 Python
Python3自动生成MySQL数据字典的markdown文本的实现
May 07 Python
Python如何实现Paramiko的二次封装
Jan 30 Python
两行代码解决Jupyter Notebook中文不能显示的问题
Apr 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中static关键字原理的学习研究分析
2011/07/18 PHP
php格式化时间戳显示友好的时间实现思路及代码
2014/10/23 PHP
PHP API接口必备之输出json格式数据示例代码
2017/06/27 PHP
php获取是星期几的的一些常用姿势
2019/12/15 PHP
jquery json 实例代码
2010/12/02 Javascript
jquery在IE、FF浏览器的差别详细探讨
2013/04/28 Javascript
js取两个数组的交集|差集|并集|补集|去重示例代码
2013/08/07 Javascript
js切换光标示例代码
2013/10/10 Javascript
js opener的使用详解
2014/01/11 Javascript
Javascript中replace()小结
2015/09/30 Javascript
javascript运动框架用法实例分析(实现放大与缩小效果)
2016/01/08 Javascript
jQuery实现下拉加载功能实例代码
2016/04/01 Javascript
静态页面html中跳转传值的JS处理技巧
2016/06/22 Javascript
ion content 滚动到底部会遮住一部分视图的快速解决方法
2016/09/06 Javascript
JavaScript利用正则表达式替换字符串中的内容
2016/12/12 Javascript
Canvas + JavaScript 制作图片粒子效果
2017/02/08 Javascript
JavaScript实现简单图片轮播效果
2017/08/21 Javascript
Vue父子模版传值及组件传值的三种方法
2017/11/27 Javascript
vue使用ElementUI时导航栏默认展开功能的实现
2018/07/04 Javascript
Vue SSR 即时编译技术的实现
2020/05/06 Javascript
在vue中使用Echarts利用watch做动态数据渲染操作
2020/07/20 Javascript
Openlayers绘制地图标注
2020/09/28 Javascript
nginx配置域名后的二级目录访问不同项目的配置操作
2020/11/06 Javascript
python3.3教程之模拟百度登陆代码分享
2014/01/16 Python
python中异常报错处理方法汇总
2016/11/20 Python
基于Tensorflow高阶读写教程
2020/02/10 Python
全球性的在线婚纱礼服工厂:27dress.com
2019/03/21 全球购物
大学毕业典礼演讲稿
2014/09/09 职场文书
2014年最新个人对照检查材料范文
2014/09/25 职场文书
写给父母的感谢信
2015/01/22 职场文书
2015年实习班主任工作总结
2015/04/23 职场文书
2015年法务工作总结范文
2015/05/23 职场文书
鸡毛信观后感
2015/06/11 职场文书
MySQL中B树索引和B+树索引的区别详解
2022/03/03 MySQL
Python与C++中梯度方向直方图的实现
2022/03/17 Python
如何通过cmd 连接阿里云服务器
2022/04/18 Servers