TCP/IP
三次握手 第一次 A向B 发送 syn 请求 然后B给A返回 syn + ack A收到后,给B返回ack 握手成功。 Socket 网络编程
实现通信 要通过IP+Port Socket是对所有上层协议的封装,它只关注 发送数据 和 接收数据 Socket使用方法:
--发送端 伪代码 import socket # 声明协议
socket.TCP/IP # 建立连接
connect(a.ip,a.port) # 发送请求
socket.sent(hello) socket.recv() socket.close()
--------------------- --接收端 伪代码 import socket # 声明协议
socket.TCP/IP # 监听端口 (监听IP,监听端口)
listen(0.0.0.0,9990) # 等待链接
waiting() # 接收数据
recv() send() Socket Families (地址簇)
socket.AF_UNIX 本机进程间通信
socket.AF_INET IPV4
socket.AF_INET6 IPV6 Socket Types
socket.SOCK_STREAM # for tcp
socket.SOCK_DGRAM # for udp
socket.SOCK_raw # 原始套接字,普通的套接字无法处理ICMP、IGMP等网络报文,而它可以。其次SOCK_RAW也可以处理特殊的
socket.SOCK_RDM # 是一种可靠的UDP形式,即保证交付数据报但不保证顺序。

客户端代码:

#!/usr/bin/env python

import  socket

# 申明协议类型
client = socket.socket() #申明socket类型,同事生成socket连接对象 # 设置请求端口
client.connect(("localhost",6969)) while True:
msg = input(">>:").strip()
#发送数据
#client.send(b"Hello World")
client.send(msg.encode("utf-8"))
data = client.recv(1024) print("recv:",data.decode()) client.close()

服务端代码:

#!/usr/bin/env python

import  socket

# 声明协议
server = socket.socket() server.bind(("localhost",6969)) # 绑定要监听的端口 server.listen() # 监听 print("等待通信中。。。")
# 等待通信
# conn就是客户端连过来,而在服务器端为其生成的一个连接实例
conn,addr = server.accept() # 它会返回两个值 一个是连接对象,另一个是链接地址
print("conn,addr",conn,addr)
print("消息来啦...")
while True:
# 接受信息
data = conn.recv(1024) print("recv:",data.decode()) conn.send(data) server.close()

pythonのSocket的更多相关文章

  1. Python Socket 编程——聊天室示例程序

    上一篇 我们学习了简单的 Python TCP Socket 编程,通过分别写服务端和客户端的代码了解基本的 Python Socket 编程模型.本文再通过一个例子来加强一下对 Socket 编程的 ...

  2. Python Socket 网络编程

    Socket 是进程间通信的一种方式,它与其他进程间通信的一个主要不同是:它能实现不同主机间的进程间通信,我们网络上各种各样的服务大多都是基于 Socket 来完成通信的,例如我们每天浏览网页.QQ ...

  3. python socket发送魔法包网络唤醒开机.py

    python socket发送魔法包网络唤醒开机.py 现在的电脑应该都普遍支持有线网络的WOL了,支持无线网络唤醒的电脑,可能比较少. """ python socke ...

  4. Python socket编程之二:【struct.pack】&【struct.unpack】

    import struct """通过 socket 的 send 和 recv 只能传输 str 格式的数据""" "" ...

  5. Python Socket,How to Create Socket Server? - 网络编程实例

    文章出自:Python socket – network programming tutorial by Silver Moon 原创译文,如有版权问题请联系删除. Network programin ...

  6. Python Socket,How to Create Socket Cilent? - 网络编程实例

    文章出自:Python socket – network programming tutorial by Silver Moon 原创译文,如有版权问题请联系删除. Network programin ...

  7. Python Socket通信原理

    [Python之旅]第五篇(一):Python Socket通信原理   python Socket 通信理论 socket例子 摘要:  只要和网络服务涉及的,就离不开Socket以及Socket编 ...

  8. Python Socket单线程+阻塞模式

    Python之旅]第五篇(二):Python Socket单线程+阻塞模式 python Socket单线程 Socket阻塞模式 串行发送 摘要:  前面第五篇(一)中的一个Socket例子其实就是 ...

  9. python socket之tcp服务器与客户端demo

    python socket之tcp服务器与客户端demo 作者:vpoet mails:vpoet_sir@163.com server: # -*- coding: cp936 -*- ''' 建立 ...

  10. python socket编程---从使用Python开发一个Socket示例说到开发者的思维和习惯问题

    今天主要说的是一个开发者的思维和习惯问题. 思维包括编程的思维和解决一个具体问题的分析思维,分析思路,分析方法,甚至是分析工具. 无论是好习惯还是不好的习惯,都是在者一天一天的思维中形成的.那些不好的 ...

随机推荐

  1. 【 强大的Mac/iOS开发工具】AppCode for Mac 2017.3

    [简介] 最新的 AppCode 2017.3 版本,完全支持最新的Swift 4.0语言,这是一款JetBrain出品的强大的OS X 和 iOS开发工具,AppCode可以用于开发 Mac OS ...

  2. Java概念、语法和变量基础整理

    Java概述 J2SE:  Java 2 Platform Standard Edition( 2005年之后更名为Java SE ).包含构成Java语言核心的类 J2EE: Java 2 Plat ...

  3. Java_异常处理误区

    转自:https://www.ibm.com/developerworks/cn/java/j-lo-exception-misdirection/index.html 本文着重介绍了 Java 异常 ...

  4. python 基础技巧

    多个字典合并 >>> d1 = {'name' : 'revotu', 'age' : 99} >>> d2 = {'age' : 24, 'sex' : 'mal ...

  5. C++回顾day02---<拷贝构造函数:重点>

    一:补充---无参构造函数(默认无参构造函数)在实例化对象时注意点 (一)若没有写构造函数,则类会含有一个默认无参构造函数 (二)若自定义一个构造函数,则类不会提供默认构造函数 class A { p ...

  6. GET和POST传输方式

    GET和POST传输 在很多人看来,get和post的区别有比如安不安全,传输有大小限制等,在这里,我将对get和post做出客观的评价: GET: 传输方法:get传输数据一般是在地址栏的url的问 ...

  7. 加密PDF文件的打印问题

    工作中遇到网上下载的PDF文件加密,并且不能打印 解决方法: 1.解密: 去网站下载解密软件,1M左右:http://www.onlinedown.net/soft/19939.htm 直接解压,运行 ...

  8. 【自适应波束形成】MVDR(Minimum Variance Distortionless Response )笔记

    参考: https://blog.csdn.net/qq_40981790/article/details/80143524 1. MVDR简介(Minimum Variance Distortion ...

  9. spring中整合memcached,以及创建memcache的put和get方法

    spring中整合memcached,以及创建memcache的put和get方法: 1:在项目中导入memcache相关的jar包 2:memcache在spring.xml的配置: 代码: < ...

  10. 【转载】C# 泛型详解

    https://www.cnblogs.com/yueyue184/p/5032156.html