(二十六)C/S,socket初識

1、架構python

    此處說的架構是C/S架構,就是客戶端/服務端,拿手機來講,QQ,微信等都是客戶端,而爲這些客戶端提供數據的就是服務端。PC端也有這種模式,就是電腦安裝的QQ,微信等。由C/S還衍生出來一個B/S,就是瀏覽器/服務端。瀏覽器

這個B/S的做用就是在瀏覽器中,能夠任意訪問網站,不用再去安裝不少的客戶端。在一些客戶端在紅中,其實也有使用到網頁,對於一些展現性的頁面或者急於開發的頁面,就會使用網頁代替,因此如今有些公司,會混合使用二者。服務器

2、Socket微信

套接字,一個要想使用網絡必須瞭解的知識。在Python中,把socket進行了處理,先看代碼。模擬的客戶端和服務端。網絡

client.py架構

 

import socket
#建立一個client對象
client = socket.socket()
server_ip_port = ('IP地址', int型端口號)
#根據IP地址和端口號去鏈接對方的服務器
client.connect(server_ip_port)
while 1:
    to_client_msg = input('對服務端說:')
    if 'Q' == to_client_msg.upper():
        break
    client.send(to_client_msg.encode('utf-8'))
    from_server_msg = client.recv(1024)
    print('服務端說:', from_server_msg.decode('utf-8'))

client.close()

 

  server.pysocket

import socket
#使用socket獲取一個server
server = socket.socket()
ip_port = ('IP地址', int型端口號)
#把IP端口號和server綁定起來
server.bind(ip_port)
#監聽消息
server.listen()
#等待客戶端的鏈接吧
conn, addr = server.accept()
while 1:
#接收消息,對方以字節傳遞過來的,設置一個每次最大接收值,通常是1024
    from_client_msg = conn.recv(1024)
#打印時,要解碼
    print(addr[0] + "說:", from_client_msg.decode('utf-8'))
    to_client_msg = input('對' + addr[0] + "說:")
    if 'Q' == to_client_msg.upper():
        break
#給對方發送消息時,也要是字節
    conn.send(to_client_msg.encode('utf-8'))
#最後不使用了就關閉鏈接
conn.close()
server.close()
相關文章
相關標籤/搜索