目的:实现两台机器之间的通信。也就是说一个作为服务端(时刻监听接收数据),另一个作为客户端(发送数据)。

Python实现的过程个人理解:

  • 1.服务端开始监听。
  • 2.客户端发起连接请求。
  • 3.服务端收到连接请求信息。
  • 3.客户端发送数据。
  • 4.服务端收到客户端的数据,并返回给客户端自定义的数据。
  • 5.客户端收到被返回的数据。
  • 重复3-5…………
  • 6.客户端或者服务端关闭这次通信。
  • socket百度百科:https://baike.baidu.com/item/socket/281150。socket是python的默认模块。

socket_1serve.py 如下:

# -*- coding: utf-8 -*-
"""
Created on Wed Jul 18 16:42:50 2018 @author: lihc
""" #==============================================================================
# 1. TCP server端代码
# #!/usr/bin/env python
# #
# # -*- coding:utf-8 -*-
# #
#============================================================================== from socket import *
from time import ctime HOST = ''
PORT = 21567
BUFSIZE=1024
ADDR=(HOST, PORT) tcpSrvSock=socket(AF_INET, SOCK_STREAM)
tcpSrvSock.bind(ADDR)
tcpSrvSock.listen(5) while True:
print ('waiting for connection ...',ctime())
tcpCliSock,addr = tcpSrvSock.accept()
print ('... connected from:', addr)
while True:
data=tcpCliSock.recv(BUFSIZE)
print("receive from 2:",data)
if not data:
break
tcpCliSock.send(str.encode('[%s] %s'%(ctime(), data)))
print ([ctime()],':',data) tcpCliSock.close()
tcpSrvSock.close()

socket_2client.py如下:

# -*- coding: utf-8 -*-
"""
Created on Wed Jul 18 16:46:33 2018 @author: lihc
""" #==============================================================================
# 2. TCP client端代码
# #!/usr/bin/env python
# #
# # -*- coding:utf-8 -*-
# #
#============================================================================== from socket import * HOST='localhost'
PORT=21567
BUFSIZE=1024
ADDR=(HOST, PORT) tcpCliSock=socket(AF_INET, SOCK_STREAM)
tcpCliSock.connect(ADDR) while True:
data = input('>')
print(type(data))
data = str.encode(data)
print(data)
if not data:
break
tcpCliSock.send(data)
data=tcpCliSock.recv(BUFSIZE)
if not data:
break
print (data) tcpCliSock.close()

python之socket编程

http://www.360doc.com/content/17/1005/06/36536556_692309867.shtml

Socket编程】Python实现简易Web服务器

Python之路【第六篇】:socket

让我们一起来构建一个 Web 服务器

telnet配置和telnet用法

服务器端的基本流程:

1.初始化socket()

2.使用bind()绑定ip和端口号

3 使用listen()监听消息

4.获取客户端的套接字地址accept()

5.使用recv()接收数据,send()发送数据与客户端进行交互

python3实现socket通信的更多相关文章

  1. python3.7 socket通信

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

  2. 基于TCP与UDP协议的socket通信

    基于TCP与UDP协议的socket通信 C/S架构与初识socket 在开始socket介绍之前,得先知道一个Client端/服务端架构,也就是 C/S 架构,互联网中处处充满了 C/S 架构(Cl ...

  3. 我看不下去鸟。。。。Java和C#的socket通信真的简单吗?

    这几天在博客园上看到好几个写Java和C#的socket通信的帖子.但是都为指出其中关键点. C# socket通信组件有很多,在vs 使用nuget搜索socket组件有很多类似的.本人使用的是自己 ...

  4. php简单实现socket通信

    socket通信的原理在这里就不说了,它的用途还是比较广泛的,我们可以使用socket来做一个API接口出来,也可以使用socket来实现两个程序之间的通信,我们来研究一下在php里面如何实现sock ...

  5. Socket通信类

    package com.imooc; import java.io.BufferedReader; import java.io.IOException; import java.io.InputSt ...

  6. AgileEAS.NET SOA 中间件平台.Net Socket通信框架-介绍

    一.前言 AgileEAS.NET SOA 中间件平台是一款基于基于敏捷并行开发思想和Microsoft .Net构件(组件)开发技术而构建的一个快速开发应用平台.用于帮助中小型软件企业建立一条适合市 ...

  7. socket通信

    socket通信 一:socket基于Tcp连接,数据传输有保证 二:socket连接的建立过程: 1:服务器监听 2:客户端发出请求 3:建立连接 4:通信 三:一个简单的例子:服务器端每隔一段时间 ...

  8. Android之Socket通信、List加载更多、Spinner下拉列表

    Android与服务器的通信方式主要有两种,一是Http通信,一是Socket通信.两者的最大差异在于,http连接使用的是“请求—响应方式”,即在请求时建立连接通道,当客户端向服务器发送请求后,服务 ...

  9. .NET开源高性能Socket通信中间件Helios介绍及演示

    一:Helios是什么 Helios是一套高性能的Socket通信中间件,使用C#编写.Helios的开发受到Netty的启发,使用非阻塞的事件驱动模型架构来实现高并发高吞吐量.Helios为我们大大 ...

随机推荐

  1. BZOJ 2745: [HEOI2012]Bridge

    2745: [HEOI2012]Bridge Time Limit: 30 Sec  Memory Limit: 128 MBSubmit: 199  Solved: 90[Submit][Statu ...

  2. 【BZOJ3675】【Apio2014】序列分割

    Description 传送门 Solution ​ 之前我也遇到过一次这种"两段之和乘积作为贡献"的问题:考虑把这一种\((\sum) *(\sum)\)的形式拆括号,就可以发现 ...

  3. Linux命令之ipcalc

    ipcalc命令是一个简单的ip地址计算器,可以完成简单的IP地址计算任务.参数: -b:由给定的IP地址和网络掩码计算出广播地址: -4:ipv4: -6:ipv6: -h:显示给定IP地址所对应的 ...

  4. 解题:USACO13JAN Island Travels

    题面 好像没啥可说的,就当练码力了...... 先用BFS跑出岛屿,然后跑最短路求岛屿间的距离,最后状压DP得出答案 注意细节,码码码2333 #include<set> #include ...

  5. PHP获取图片主题颜色

    (1)工具类:pictureColor.php class pictureColor{     /**     * 获取颜色使用库类型     */    public $type = 'gd';   ...

  6. web服务器nginx和apache的对比分析

         今天准备较详细的对比一下apache httpd与nginx两个web服务器的异同点.优缺点.由于我并不是做web开发的,所以有什么理解错误还请指出,想要了解它们是因为工作中有时候会用到它, ...

  7. E. Mahmoud and Ehab and the function Codeforces Round #435 (Div. 2)

    http://codeforces.com/contest/862/problem/E 二分答案 一个数与数组中的哪个数最接近: 先对数组中的数排序,然后lower_bound #include &l ...

  8. bzoj 2243

    2243: [SDOI2011]染色 Time Limit: 20 Sec  Memory Limit: 512 MBSubmit: 8800  Solved: 3305[Submit][Status ...

  9. Qt error ------ no matching function for call to QObject::connect(QSpinBox*&, <unresolved overloaded function type>, QSlider*&, void (QAbstractSlider::*)(int))

    connect(ui->spinBox_luminosity,&QSpinBox::valueChanged, ui->horizontalSlider_luminosity, & ...

  10. Docker图形界面管理之DockerUI

    DockerUI DockerrUI是一个基于Docker API提供图形化页面简单的容器管理系统,支持容器管理.镜像管理. 1.1 下载镜像 docker pull abh1nav/dockerui ...