前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >千锋扣丁学堂Python培训之详解实现

千锋扣丁学堂Python培训之详解实现

作者头像
py3study
发布2020-01-06 19:15:49
5320
发布2020-01-06 19:15:49
举报
文章被收录于专栏:python3python3python3

今天千锋扣丁学堂Python培训老师给大家分享一篇关于Python两台电脑实现TCP通信的方法示例,文中通过示例代码介绍的非常详细,首先比如为了实现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培训之详解实现TCP通信方法示例的全部内容,希望对大家的学习有所帮助,最后想要了解更多关于Python和人工智能方面内容的小伙伴,请关注扣丁学堂Python培训官网、微信等平台,扣丁学堂IT职业在线学习教育平台为您提供权威的Python开发环境搭建视频,Python培训后的前景无限,行业薪资和未来的发展会越来越好的,扣丁学堂老师精心推出的Python视频教程定能让你快速掌握Python从入门到精通开发实战技能。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-10-09 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • -- encoding: utf-8 --
  • -- encoding: utf-8 --
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档