码迷,mamicode.com
首页 > 其他好文 > 详细

函数和网络编程

时间:2020-09-24 21:52:36      阅读:45      评论:0      收藏:0      [点我收藏+]

标签:func   lis   decode   验证码   维护   ip地址   ===   log   可扩展性   

"""
1、什么是函数

2、为何要有函数
没有用函数
1、程序冗长,组织结构不清晰,可读性差=》可维护性
2、可扩展性差

3、如何函数

"""
# def login():
# user=input(‘username>>>: ‘).strip()
# pwd=input(‘password>>>: ‘).strip()
# code=input(‘验证码>>>: ‘).strip()
# if user == "egon" and pwd == "123":
# print(‘login successful‘)
# else:
# print(‘login failed‘)
#
# login()


# def copy():
# print("拷贝功能1")
# print("拷贝功能2")
# print("拷贝功能3")
#
# copy()
# copy()
# copy()


# def max2(x,y):
# # x=11
# # y=12
# if x > y:
# print(x)
# else:
# print(y)
#
#
# max2(11,12)
# max2(33,43)

# x=11111111111111
# x
#
# def func(): # func=函数体代码
# x=input(‘输入用户名>>:‘)
# y=input(‘输入密码>>:‘)
# return 123
# z = input(‘输入验证码>>:‘)
# return "结果2"
#
# res=func()
# print(res)



# 一个人
def max2(x,y):
if x > y:
return x
else:
return y



# 另外一个
# res=max2(10,12)
#
# print(res * 12)


def func(x):
res=x + "_sb" # res="lxx_sb"
return res

res=func("lxx")

print(res.upper())

====================网络编程基础知识=================

网络=物理连接介质+互联网通信协议

OSI七层协议








五层




数 ethernet




# 客户端
192.168.12.95
255.255.255.0

192.168.12.0


# 服务端
192.168.12.10
255.255.255.0

192.168.12.0


ARP协议工作方式
一、先计算两个子网地址是否一样:


例如:
客户端:192.168.12.95/24
服务端:192.168.12.10/24

(1)如果一样

===========ARP协议工作:直接拿到局域网内服务端的mac地址=========
客户端发送ARP广播包
自己的mac FFFFFFFFFFFF 192.168.12.95/24 192.168.12.10/24

只有192.168.12.10/24服务端会作出响应,并返回自己的mac地址

客户端拿到服务端的mac地址


===========发包=========
客户端的mac地址 服务端的mac地址 自己的ip地址192.168.12.95/24 目标ip地址192.168.12.10/24 数据



例如:
客户端:192.168.12.95/24
服务端:202.106.13.11/24
(2)如果不一样
===========ARP协议工作:直接拿到局域网内网关的mac地址=========
客户端发送ARP广播包
自己的mac FFFFFFFFFFFF 192.168.12.95/24 192.168.12.1/24==>网关的地址

只有192.168.12.10/24服务端会作出响应,并返回自己的mac地址

客户端拿到网关的mac地址


===========发包=========
客户端的mac地址 网关的mac地址 自己的ip地址192.168.12.95/24 目标ip地址202.106.13.11/24 数据



ip+port=》全世界范围内独一无二的一个应用程序



=================远程连接客户端服务端的命令===================
=================客户端:

import socket

# 1、买手机
phone = socket.socket()

# 2、拨电话
phone.connect((‘192.168.12.178‘, 8080))

# 3、发/收消息
phone.send("hello".encode("utf-8"))#send:发送
data=phone.recv(1024) #recv :接收
print(data.decode(‘utf-8‘)) decode:解码

# 4、
phone.close()#close:关机


==========服务端

#coding:utf-8
import socket

# 1、买手机
phone = socket.socket()

# 2、绑定手机卡
phone.bind((‘10.0.0.200‘, 8080)) # 0-65535

# 3、开机
phone.listen(5)

# 4、等待/接收电话连接
conn,client_addr=phone.accept()#client :客户端 accept:j接收
print(client_addr)

# 5、收/发消息
data = conn.recv(1024)
# conn.send(data.upper())
conn.send(u"收到啦".encode(‘utf-8‘))

# 6、挂电话
conn.close()

# 7、关机
phone.close()






函数和网络编程

标签:func   lis   decode   验证码   维护   ip地址   ===   log   可扩展性   

原文地址:https://www.cnblogs.com/pmstaw/p/13723239.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!