一. ***

C/S架构:客户端(client)/服务端(server)架构,

B/S架构:浏览器(browser) / 服务端(server)架构

软件cs架构:浏览器,qq,微信,陌陌等等

硬件cs架构:打印机

二. 网络通信的整个流程  ***

集线器:将所有电脑联通起来

交换机:升级版的集线器

网卡:接收处理电信号

Mac地址:物理地址: 1C-1B-0D-74-43-9A  前三位厂商编号  后三位生产流水号,全球唯一的,也就是你网络设备的身份证号

姑娘的mac地址:约吗?

Ip地址  IPv4 地址: 192.168.12.11  划分广播域

Ip地址段:192.168.12.0 --- 192.168.12.255 同一ip地址段,称为同一子网,以广播的形式通信.192.168.0.0 -- 192.168.255.255

子网掩码:计算是否属于同一网段,同一子网 255.255.255.0

目标ip地址是:192.168.12.16

11000000.10101000.00001100.00010000

255.255.255.0

11111111.11111111.11111111.00000000

11000000.10101000.00001100.00000000

192.168.12.0

DHCP协议:自动获取IP地址

Arp协议:通过ip地址获取mac地址

域名:www.jd.com

DNS服务端:{‘www.jd.com’:173.16.49.0}

三. 初识socket  *****

服务器端代码

import socket#导入socket模块

#创建socket对象,创建了一个手机server = socket.socket()

#给程序设置一个ip地址和端口号,买了个手机卡ip_port = ('192.168.12.70', 8002)

#绑定ip地址和端口,插卡server.bind(ip_port)

#监听ip地址和端口,简称开机server.listen()

print('111111')#等待建立连接, conn是连接通道,addr是客户端的地址,阻塞程序conn, addr = server.accept()

print('222222')

#服务端通过conn连接通道来收发消息,通过recv方法,recv里面的参数是字节(B),1024的意思1024B=1KBfrom_client_msg = conn.recv(1024)

print('高旺说:', from_client_msg.decode('utf-8'))

to_client_msg = input('高旺的女朋友说:')

#回复消息:通过send方法,参数必须是字节类型的,conn.send(to_client_msg.encode('utf-8'))

#关闭通道,关电话,通过close方法conn.close()#关闭socket对象,关机server.close()

客户端代码

#导入socket
import socket
#创建一个socket对象
client = socket.socket()
#找到服务端的ip地址和端口
server_ip_port = ('192.168.12.11',8002)
#连接服务端的应用程序,通过connect方法,参数是服务端的ip地址和端口,打电话
client.connect(server_ip_port)

to_server_msg = input('高旺说:')
#发消息,用的send方法,但是调用者是client的socket对象
client.send(to_server_msg.encode('utf-8'))

from_server_msg = client.recv(1024)

print('高旺的女朋友说:',from_server_msg.decode('utf-8'))
client.close()

day 26 网络通讯流程 初识socke的更多相关文章

  1. DIOCP网络通讯流程

    DIOCP 运作核心探密   原文连接: http://blog.qdac.cc/?p=2362 原作者: BB 天地弦的DIOCP早已经广为人知了,有很多的同学都用上了它,甚至各种变异.修改版本也出 ...

  2. 基于TCP协议的网络通讯流程

    不多说了,先上个图: 从上面的图中可以看出来,基于TCP协议进行通讯可以大致分成以下几个阶段: 1. 首先是在服务器端, TCP Sever调用socket(), bind(), listen()完成 ...

  3. day26 网络通讯的整个流程

    一.网络通信原理 1.  互联网的本质就是一系列的网络协议 2.  互联网协议按照功能不同分为osi七层或tcp/ip五层或tcp/ip四层 各层的功能简述: [1]物理层:主要定义物理设备标准,如网 ...

  4. Windows 网络通讯开发

    Windows 网络通讯开发 一.Windows网络开发API 由于C++标准库中没有网络库,所以进行网络开发的时候要调用系统API.Windows通讯开发API包括以下几个基本函数及成员类型: 1. ...

  5. 文档:网络通讯包结构(crc校验,加解密)

    一直想把这个流程整理一下. 包结构: 包 对(datacrc+protoID+dataSize)组成的byte[] 进行crc计算而得到 对(数据内容)进行crc计算而得到 协议号 数据内容的字节长度 ...

  6. Socket网络通讯开发总结之:Java 与 C进行Socket通讯 + [备忘] Java和C之间的通讯

    Socket网络通讯开发总结之:Java 与 C进行Socket通讯 http://blog.sina.com.cn/s/blog_55934df80100i55l.html (2010-04-08 ...

  7. zigbee学习:示例程序SampleApp中通讯流程

    zigbee学习:示例程序SampleApp中通讯流程 本文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明. 参考链接: http://wjf88223.bl ...

  8. C#.NET通过Socket实现平行主机之间网络通讯(含图片传输的Demo演示)

    在程序设计中,涉及数据存储和数据交换的时候,不管是B/S还是C/S模式,都有这样一个概念:数据库服务器.这要求一台性能和配置都比较好的主机作为服务器,以满足数目众多的客户端进行频繁访问.但是对于一些数 ...

  9. tcp/ip网络通讯安全加密方法

    tcp/ip网络通讯安全是一个广受关注的话题,现在也有一些基于tcp/ip加密技术标准如SSL,TLS等.但很多时候编写一些简单的网络通讯把这标准加密应用添加进来乎一下子把程序变得复杂了,而实现自己的 ...

随机推荐

  1. 安装ubuntu不能引导win7

    台式机安装了ubuntu导致进不了win7了,2系统在同一硬盘. win7引导需要bootmgr和boot文件夹中的文件,2个东东在winows引导分区根目录下. 我的笔记本安装windows系统分区 ...

  2. set,pair容器使用方法

    题目链接:http://codeforces.com/gym/100989/problem/D In this cafeteria, the N tables are all ordered in o ...

  3. ESP8266 问题

    根据SDK接口编写的程序在运行一段时间,大约15/18分钟左右,就会报错 [22:30:55.828] there is no poison after the block. Expected poi ...

  4. php优秀框架codeigniter学习系列——CI_URI类学习

    这篇文章主要介绍CI核心框架工具类CI_URI. 该类主要用来解析uri和决定路由的.关于URI和URL的关系请参考这位朋友的文章.简单来说URI是唯一定位的资源,URL是唯一资源的一个网络可能访问路 ...

  5. Delphi 10.2.3 新增的TMimeTypes类

    Delphi 10.2.3 新增的TMimeTypes类,利用url中的文件扩展名,可以轻松得到url需要返回的HTTP content-type类型,可以参考这里,现在查看AddDefTypes方法 ...

  6. hmtl工具

    在线编辑器:http://runjs.cn/code 关注微信小程序

  7. 批注@SuppressWarnings 的作用

    J2SE 提供的最后一个批注是 @SuppressWarnings.该批注的作用是给编译器一条指令,告诉它对被批注的代码元素内部的某些警告保持静默. 一点背景:J2SE 5.0 为 Java 语言增加 ...

  8. STP实验(指定特定交换机为根桥)

    实验要求:将三层交换机设置为根桥交换机,并查看 拓扑如下: 涉及内容有: 1.根桥交换机的选举方式 2.生成树修改优先级成为根桥交换机 3.生成树直接指定根桥交换机 根桥交换机是根据优先级和MAC地址 ...

  9. SQL注入之Sqli-labs系列第一关

    在开始接触渗透测试开始,最初玩的最多的就是Sql注入,注入神器阿D.明小子.穿山甲等一切工具风靡至今.当初都是以日站为乐趣,从安全法实施后在没有任何授权的情况下,要想练手只能本地环境进行练手,对于sq ...

  10. SpringBatch Sample (二)(CSV文件操作)

    本文将通过一个完整的实例,与大家一起讨论运用Spring Batch对CSV文件的读写操作.此实例的流程是:读取一个含有四个字段的CSV文件(ID,Name,Age,Score),对读取的字段做简单的 ...