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常用内置函数总结
Feb 08 Python
python分析nignx访问日志脚本分享
Feb 26 Python
使用Python的Tornado框架实现一个简单的WebQQ机器人
Apr 24 Python
Google开源的Python格式化工具YAPF的安装和使用教程
May 31 Python
python扫描proxy并获取可用代理ip的实例
Aug 07 Python
numpy和pandas中数组的合并、拉直和重塑实例
Jun 28 Python
Django中的用户身份验证示例详解
Aug 07 Python
django项目中使用手机号登录的实例代码
Aug 15 Python
python如何把字符串类型list转换成list
Feb 18 Python
Python3如何判断三角形的类型
Apr 12 Python
Django bulk_create()、update()与数据库事务的效率对比分析
May 15 Python
Python 匹配文本并在其上一行追加文本
May 11 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
JAVA/JSP学习系列之六
2006/10/09 PHP
phpexcel导入excel数据使用方法实例
2013/12/24 PHP
PHP+MYSQL会员系统的开发实例教程
2014/08/23 PHP
php源码的使用方法讲解
2019/09/26 PHP
JavaScript 计算当天是本年本月的第几周
2009/03/22 Javascript
javascript new 需不需要继续使用
2009/07/02 Javascript
jQuery 锚点跳转滚动条平滑滚动一句话代码
2010/04/30 Javascript
JavaScript中的isXX系列是否继续使用的分析
2011/04/16 Javascript
一个JQuery写的点击上下滚动的小例子
2011/08/27 Javascript
如何用ajax来创建一个XMLHttpRequest对象
2012/12/10 Javascript
javascript实现类似于新浪微博搜索框弹出效果的方法
2015/07/27 Javascript
jQuery垂直多级导航菜单代码分享
2015/08/18 Javascript
js实现图片加载淡入淡出效果
2017/04/07 Javascript
ES6扩展运算符用法实例分析
2017/10/31 Javascript
JS中实现浅拷贝和深拷贝的代码详解
2019/06/05 Javascript
vue vantUI实现文件(图片、文档、视频、音频)上传(多文件)
2019/10/15 Javascript
JavaScript相等运算符的九条规则示例详解
2019/10/20 Javascript
wepy--用vantUI 实现上弹列表并选择相应的值操作
2020/11/03 Javascript
Vue向后台传数组数据,springboot接收vue传的数组数据实例
2020/11/12 Javascript
java直接调用python脚本的例子
2014/02/16 Python
python使用urllib2实现发送带cookie的请求
2015/04/28 Python
使用python调用zxing库生成二维码图片详解
2017/01/10 Python
Python爬虫利用cookie实现模拟登陆实例详解
2017/01/12 Python
Python入门_浅谈for循环、while循环
2017/05/16 Python
使用python制作一个解压缩软件
2019/11/13 Python
Spring http服务远程调用实现过程解析
2020/06/11 Python
马来西亚银饰品牌:JEOEL
2017/12/15 全球购物
什么是索引指示器
2012/08/20 面试题
竞聘副主任科员演讲稿
2014/01/11 职场文书
幼儿园教师培训制度
2014/01/16 职场文书
2014年社团工作总结范文
2014/11/27 职场文书
2014年政教处工作总结
2014/12/20 职场文书
社区环境卫生倡议书
2015/04/29 职场文书
建党伟业观后感
2015/06/01 职场文书
博物馆观后感
2015/06/05 职场文书
使用pandas生成/读取csv文件的方法实例
2021/07/09 Python