网络
使用网络能够把多方链接在一起,然后可以进行数据传递
所谓的网络编程就是 让在不同的电脑上的软件能够进行数据传递,即进程间的通讯
ip
ip地址用来标记一台电脑 每个ip包括 网络地址和主机地址
查看或配置网卡信息 ifconfig
ifconfig 可以在终端下查看自己网卡信息
使用sudo ifconfig 网卡名 目标ip地址 可以修改现有ip地址
测试远程主机连通性 ping
ping +ip地址或者域名
端口
端口只有整数,范围是0-65535
端口分为 知名端口和动态端口
知名端口
范围0-1023
80端口分配给HTTP服务
21端口分配给FTP服务
动态端口
范围1024-65535
动态端口随机分配
socket简介
socket(套接字)是进程间通信的一种方式
如何创建套接字:
import socket
socket.socket(AddressFamily,Type)
AddressFamily:可以选择 AF_INET(⽤于 Internet 进程间通信) 或者
AF_UNIX(⽤于同⼀台机器进程间通信),实际⼯作中常⽤AF_INET
Type:套接字类型,可以是 SOCK_STREAM(流式套接字,主要⽤于 TCP 协议)
或者 SOCK_DGRAM(数据报套接字,主要⽤于 UDP 协议)
创建udp套接字
import socket
#创建套接字对象
udp_socket=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
#关闭套接字
udp_scket.close()
udp套接字发送程序:
import socket #创建套接字对象 udp_socket=socket.socket(socket.AF_INET,socket.SOCK_DGRAM) #绑定本地信息 固定端口模式 udp_socket.bind("",1234) #发送内容 send_data=input("请输入你要发送的内容") desk_addr=("192.168.22.52",8080) udp_socket.sendto(send_data.encode("utf-8"),desk_addr) #关闭套接字 udp_socket.close()
udp套接字接收程序
import socket #创建套接字 udp_socket=socket.socket(socket.AF_INET,socket.SOCK_DGRAM) #绑定端口 local_addr=("",7788) udp_socket.bind(local_addr) #接收保存数据,并限制数据长度最大为1024字节 recv_data=udp_socket.recvfrom(1024) recv_msg=recv_data[0] recv_addr=recv_data[1] #打印收到的数据 .print("收到%s的信息:%s"%(recv_addr,recv_msg.decode("gbk")))#用gbk方式解码 #关闭套接字 udp_socket.close()