【】网络编程

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'))

你可能感兴趣的:(【】网络编程)