【】网络编程

1.什么是socket

  • sockert 又叫套接字,指的是网络通信的两端,分别是服务器和客户端。
  • socket 编程指的是通过代码实现客户端和服务器之间的通信

2.服务器的实现

①创建套接字对象
  • family : ip类型, AF_INET -> ipv4,AF_INET6 -> ipv6
  • type: 传输协议类型,SOCK_STREAM ->TCP, SOCK_DGRAM ->UDP
server = socket.socket()
②绑定IP地址和端口
  • ip:用来区分互联网上设备
  • 端口:用来区分一台计算机上不同的服务(应用),值是0-65535,其中0-1024是著名端口。其他的随便选。
sever.bind((ip地址,端口号))
③启动服务器(监听请求)
  • 数量是一次性能够处理的最大请求数
server.listen(数量)
④让服务器一直处于运行状态
while True:
      pass
⑤等待客户端的请求
  • 程序运行到这儿 ,会停下来等到有客户端来连接服务器,才会接着往后执行。
server.accept()
⑥发送消息
  • 发送数据,数据是二进制数据
send(数据)
⑦接收消息
  • 接受数据,并制定能够接受的最大数据
  • 返回接收到的二进制数据
  • recv也会阻塞线程,程序运行到这个地方会停下来,等客户端发送消息,才会往后执行。
recv(字节数)
⑧关闭连接
connect.close()
服务器全部代码:
import socket

server = socket.socket()
server.bind(('10.7.190.69', 8080))
server.listen(255)
while True:
    print('开始监听....')
    connect, addr = server.accept()
    print(connect, addr)
    message = input('>>>')
    connect.send(message.encode(encoding='utf-8'))
    data = connect.recv(1024)
    print(data.decode(encoding='utf-8'))
    connect.close()

3.客户端的实现

①创建套接字对象
  • family : ip类型, AF_INET -> ipv4,AF_INET6 -> ipv6
  • type: 传输协议类型,SOCK_STREAM ->TCP, SOCK_DGRAM ->UDP
client = socket.socket()
②连接服务器
client.connect((ip地址, 端口))
③接收消息
data = client.recv(1024)
④发送消息
client.send(message.encode(encoding='utf-8'))
客户端全部代码:
import socket

client = socket.socket()

client.connect(('10.7.190.127', 8081))

data = client.recv(1024)

print(data.decode(encoding='utf-8'))

message = input('>>>')
client.send(message.encode(encoding='utf-8'))
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 网络编程 一.楔子 你现在已经学会了写python代码,假如你写了两个python文件a.py和b.py,分别去运...
    go以恒阅读 6,392评论 0 6
  • 第一章 TCP/IP简介 基本的C/S服务模型 网络编程是指编写的网络通信程序可以与网络上的其他程序进行通信。 T...
    Waldo_cuit阅读 5,885评论 0 6
  • 网络 理论模型,分为七层物理层数据链路层传输层会话层表示层应用层 实际应用,分为四层链路层网络层传输层应用层 IP...
    FlyingLittlePG阅读 4,270评论 0 0
  • 1. 网络概述 1.1 概述 1.1.1什么是网络? 早期的计算机都是互相独立的一套一台以数据运算为主的机器。...
    _宁采臣阅读 4,012评论 0 1
  • 从前我一直觉得:人生苦短,开心就好!可是现在看来,那可能只是我软弱的借口,不敢真正用全力地去拼、去闯! ...
    叶凡i阅读 1,183评论 0 1