您的位置:首页 > 脚本大全 > > 正文

python实现在同一电脑上tcp通信(Python两台电脑实现TCP通信的方法示例)

更多 时间:2021-10-07 00:32:56 类别:脚本大全 浏览量:2449

python实现在同一电脑上tcp通信

Python两台电脑实现TCP通信的方法示例

为了实现nao机器人与电脑端的tcp通信,于是研究了一下python实现tcp通信,在网上也看到了很多例子,但大多都是在一台机器上验证。在两台机器上使用,出了一些小故障。

注意:若两台电脑通信出了问题,若能ping通!大部分是防火墙的问题。一开始a做服务器,b做客户端能实现;b做服务器,a做客户端,a就不能连接到b。我换了一台电脑a就能实现通信了。应该是a的防火墙需要设置。但是a的防火墙全关了也不能实现。真是很让人搞不懂。

首先是服务器端代码:

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • # -*- 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()
  • 客户端代码:

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • # -*- 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()
  • 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持开心学习网。

    原文链接:https://blog.csdn.net/ADwenwen/article/details/79031085

    标签:Python 通信 TCP
    您可能感兴趣