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 相关文章推荐
win7安装python生成随机数代码分享
Dec 27 Python
python使用正则表达式提取网页URL的方法
May 26 Python
在Django中创建第一个静态视图
Jul 15 Python
利用python实现命令行有道词典的方法示例
Jan 31 Python
python抓取京东小米8手机配置信息
Nov 13 Python
Python中logging.NullHandler 的使用教程
Nov 29 Python
python障碍式期权定价公式
Jul 19 Python
解决python明明pip安装成功却找不到包的问题
Aug 28 Python
Python3+selenium实现cookie免密登录的示例代码
Mar 18 Python
Python判断字符串是否为空和null方法实例
Apr 26 Python
Python-split()函数实例用法讲解
Dec 18 Python
python 数据类型强制转换的总结
Jan 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语句将数据库*.sql文件导入数据库
2014/05/05 PHP
php下载文件源代码(强制任意文件格式下载)
2014/05/09 PHP
php变量与数组相互转换的方法(extract与compact)
2016/12/02 PHP
关于document.cookie的使用javascript
2008/04/11 Javascript
jQuery中读取json文件示例代码
2013/05/10 Javascript
Js冒泡事件详解及阻止示例
2014/03/21 Javascript
js隐式全局变量造成的bug示例代码
2014/04/22 Javascript
JavaScript中的数组操作介绍
2014/12/30 Javascript
JAVA四种基本排序方法实例总结
2015/07/24 Javascript
纯javascript代码实现计算器功能(三种方法)
2015/09/07 Javascript
javascript稀疏数组(sparse array)和密集数组用法分析
2016/12/28 Javascript
JS在浏览器中解析Base64编码图像
2017/02/09 Javascript
如何使用vuejs实现更好的Form validation?
2017/04/07 Javascript
js实现本地时间同步功能
2017/08/26 Javascript
纯js实现隔行变色效果
2017/11/29 Javascript
RequireJS用法简单示例
2018/08/20 Javascript
JS Math对象与Math方法实例小结
2019/07/05 Javascript
使用Vue.set()方法实现响应式修改数组数据步骤
2019/11/09 Javascript
vue+webpack dev本地调试全局样式引用失效的解决方案
2019/11/12 Javascript
ES6学习笔记之字符串、数组、对象、函数新增知识点实例分析
2020/01/22 Javascript
[45:17]DOTA2-DPC中国联赛定级赛 Phoenix vs DLG BO3第三场 1月9日
2021/03/11 DOTA
Python格式化输出%s和%d
2018/05/07 Python
Python基于百度云文字识别API
2018/12/13 Python
详解pandas.DataFrame中删除包涵特定字符串所在的行
2019/04/04 Python
python中利用matplotlib读取灰度图的例子
2019/12/07 Python
欧舒丹英国官网:购买欧舒丹护手霜等明星产品
2017/01/17 全球购物
JSF的标签库有哪些
2012/04/27 面试题
会计学专业学生的求职信范文
2014/01/27 职场文书
信用卡逾期证明示例
2014/09/13 职场文书
电话营销开场白
2015/05/29 职场文书
小学运动会报道稿
2015/07/22 职场文书
奖学金主要事迹范文
2015/11/04 职场文书
竞选稿之小学班干部
2019/10/31 职场文书
Pytorch中TensorBoard及torchsummary的使用详解
2021/05/12 Python
MySQL数据库 安全管理
2022/05/06 MySQL
java实现web实时消息推送的七种方案
2022/07/23 Java/Android