如果需要设置两台机器的端口,请查看博文 centos7开放端口和防火墙设置

需要实现两台机器的信息交互,使用 socket 进行调度。其中服务端为:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import socket # 服务端ip
server_address = ('192.168.229.129',10000)
# 客户端ip
client_address = ("192.168.229.130",10000)
s = socket.socket(socket.AF_INET,socket.SOCK_DGRAM) s.bind(server_address)
while 1:
data,addr=s.recvfrom(2048)
if not data:
break
print("got data from",addr)
print(data.decode())
replydata = input("reply:")
s.sendto(replydata.encode("utf-8"),client_address)
s.close()

客户端为:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import socket # 服务端ip
server_address = ('192.168.229.129',10000)
# 客户端ip
client_address = ("192.168.229.130",10000) s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.bind(client_address)
while 1:
data = input("input:")
if not data:
break
s.sendto(data.encode("utf-8"), server_address) recivedata, addrg = s.recvfrom(2048)
if recivedata:
print("from:", addrg)
print("got recive :", recivedata.decode())
s.close()

启动过后如下所示:

客户端发送:

input:hello world
from: ('192.168.229.129', 10000)
got recive : my name is server
input:my name is client,hahaha
from: ('192.168.229.129', 10000)
got recive : woca

服务端接收:

got data from ('192.168.229.130', 10000)
hello world
reply:my name is server
got data from ('192.168.229.130', 10000)
my name is client,hahaha
reply:woca

python3的socket使用的更多相关文章

  1. python3中socket套接字的编码问题解决

    一.TCP 1.tcp服务器创建 #创建服务器 from socket import * from time import ctime #导入ctime HOST = '' #任意主机 PORT = ...

  2. python3给socket模块设置代理

    最近需要在公司学习socket编程,但是不能直接连接外网,需要设置一个代理才能正常访问.报错示例: import socket def blocking(wd): sock = socket.sock ...

  3. 【Python3之socket编程】

    一.socket的定义 Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口.在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后 ...

  4. python3之socket&socketserver网络编程

    1.套接字与套接模块 套接字是为特定网络协议(例如TCP/IP,ICMP/IP,UDP/IP等)套件对上的网络应用程序提供者提供当前可移植标准的对象.它们允许程序接受并进行连接,如发送和接受数据.为了 ...

  5. Python3之socket编程

    一.socket的定义 Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口.在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后 ...

  6. python3实现socket通信

    目的:实现两台机器之间的通信.也就是说一个作为服务端(时刻监听接收数据),另一个作为客户端(发送数据). Python实现的过程个人理解: 1.服务端开始监听. 2.客户端发起连接请求. 3.服务端收 ...

  7. Python3 中socket使用

    1.动态导入模块 在当前目录下有lib和test目录,在test中要想使用lib中的aa的C类: test中: 第一种方法:推荐 importlib.import_module('lib.aa') o ...

  8. python3.7 socket通信

    def OpenClient(self,e): global line line = socket.socket(socket.AF_INET,socket.SOCK_STREAM) line.bin ...

  9. python3 抓取网页资源的 N 种方法

    1. 最简单 import urllib.request response = urllib.request.urlopen('http://python.org/') html = response ...

随机推荐

  1. Java多线程:wait(),notify(),notifyAll()

    1. wait(),notify(),notifyAll() 2. wait() 2.1. wait() 2.2. wait(long timeout) 2.3. wait(long timeout, ...

  2. 微信小程序开发框架技术选型

    目前微信小程序开发有三种方式,原生微信小程序,使用mpVue或wepy微信小程序开发框架. 三种开发方式横向对比资料如下:  

  3. 【Service Fabric】小白入门记录 本地Service Fabric集群安装及设置

    本篇内容是自学自记,现在我还不知道Service Fabric究竟是怎么个入门法,反正按照入门教程先进行本地Service Fabric集群的安装,万里路始于足下,要学习总得先把环境装好了才能开始学习 ...

  4. PAT1028:List Sorting

    1028. List Sorting (25) 时间限制 200 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue Excel ca ...

  5. @EnableWebMVC注解理解

    @EnableWebMVC注解用来开启Web MVC的配置支持.也就是写Spring MVC时的时候会用到.

  6. springmvc中只接受固定提交内容类型的请求

    springmvc中的@RequestMapping注解是用来处理请求地址映射的,如果某个接口我们只接受请求的提交内容类型(Content-Type)为application/json或text/ht ...

  7. nuget的问题, NuGet 程序包还原失败

    将项目中的packages.config 中引用移除. 1.使用nuget管理器,进行安装 2.下载对应dll,手动引入项目

  8. Java 精简Jre jar打包成exe

    #开始 最近几天都在忙一个事情,那就是尝试精简jre,我想不明白为什么甲骨文官方不出exe打包工具... 网络上精简jre的文章很多,但是原创的似乎没几个,绝大多数都是转发同一个博客, 这里借鉴了不少 ...

  9. 如何在Android Studio中指定NDK位置?

    如何在Android Studio中指定NDK位置? 问题描述 NDK已经手工下载解包在本地: D:\Portable\android-ndk-r13b 每次创建支持C++项目时,都提示NDK没配置, ...

  10. 7.app和app后端的通讯

    经常有开发者问:app和后端通讯是用http协议还是私有的协议?是用长连接还是短连接?通过阅读本文,帮你解除上面的疑问. (1)是用http协议还是私有的协议? 在间谍电视剧中,经常能看到间谍们的书信 ...