亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

TCP/UDP簡介

e10101 / 3552人閱讀

摘要:是位的整數,以字符串形式表示地址,它是目前使用的的升級版,以字符串表示類似于。

基本概念
TCP   TCP(Transmission Control Protocol 傳輸控制協(xié)議)
UDP User Datagram Protocol的簡稱, 中文名是用戶數據報協(xié)議
IP 網絡之間互連的協(xié)議(IP)是Internet Protocol 協(xié)議 端口

協(xié)議:http https

TCP/IP協(xié)議:因為互聯(lián)網協(xié)議本身就包含很多協(xié)議標準,但最重要的兩個協(xié)議就是TCP和IP協(xié)議,所以互聯(lián)網協(xié)議可以簡稱為TCP/IP協(xié)議

IP地址:如果想要連接一臺電腦,我們就需要知道這臺電腦的標識,互聯(lián)網上為每臺電腦都提供一個唯一的標識,這個標識就是ip地址,類似于123.123.123.123
IP地址對應的實際上是計算機的網路接口

IP協(xié)議:負責把數據從一臺計算機上通過協(xié)議發(fā)送給另一條計算機,數據會被切割成一小塊一小塊,通過IP包發(fā)送出去

IP包的特點:本身是以塊的形式發(fā)送數據,但不保證能夠全部到達,也不能保證按順序到達

TCP協(xié)議:建立在IP協(xié)議之上,TCP協(xié)議負責把兩臺計算機之間建立可靠連接,保證數據按順序到達,
如果數據包丟失,會自動重新發(fā)送

IP地址
IPv4:是32位的整數,以字符串形式表示ip地址,以字符串表示的IP地址如192.168.0.1實際上是把32位整數按8位分組后的數字表示,目的是便于閱讀。
123.123.123.123 0-255.0-255.0-255.0-255

IPv6: 是128位的整數,以字符串形式表示ip地址,它是目前使用的IPv4的升級版,以字符串表示類似于2001:0db8:85a3:0042:1000:8a2e:0370:7334。

端口:為了區(qū)分不同的程序

一個完整的IP地址:
協(xié)議 IP 端口號
http://10.31.157.61:8080
電腦服務器默認值端口80,人為重新設置端8080

鏈接新浪客戶端
# socket 套接字
# 通常我們用一個Socket表示“打開了一個網絡鏈接”,而
# 打開一個Socket需要知道目標計算機的IP地址和端口號,再指定協(xié)議類型即可
"""

客戶端:向服務器發(fā)送請求,接受服務器的數據
服務器:接受客戶端的數據,發(fā)送給客戶端數據

"""

import socket
# 1.創(chuàng)建一個socket對象
# 參數一:指定協(xié)議,AF_INETH或AF_INET6 (IPv4, IPv6)
# 參數二:SOCK_STREAM 使用TCP協(xié)議  以流的形式發(fā)送或接收數據
socket1 = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

# 2.建立連接
# connnect的參數為一個元組類型的額數據,第一個是IP 第二個是端口號
socket1.connect(("www.sina.com.cn", 80))


# 3 發(fā)送請求,要求請求新浪首頁的內容并返回該內容
# send的參數為字節(jié)類型
"""
GET/HTTP/1.1
GET:表示的是一種請求方式,將從服務器直接獲取數據(網址必須是完整的)
# 請求方式通常使用兩種:GET, POST
# 其他的請求方式:PUT DELETE
/ : 表示的是url路徑,url總是以/開始
HTTP/1.1: 協(xié)議版本, HTTP協(xié)議,版本1.1 目前也有支持1.0的版本的服務器
1.0和1.1的區(qū)別:1.1版本允許多個HTTP請求一個TCP鏈接,可以加快傳輸速度


Host: www.sina.com.cn:請求地址為www.sina.com.cn 如果一個服務器有多個網站
服務器需要使用Host來區(qū)別瀏覽器請求的地址

Connection:close 當服務器發(fā)送給客戶端數據之后就自動斷開連接


: 每一個請求頭(header)使用
分開的


:表示Header結束 后面都是Body(請求體)部分


"""
socket1.send(b"GET / HTTP/1.1
Host: www.sina.com.cn
Connection: close

")

# 4. 接受數據
data = []
while True:
    # recv:接受數據 1024:每次允許接收1K的數據
    tmp = socket1.recv(1024)
    if tmp:
        data.append(tmp)
    else:
        break
# 5.拼接數據
# b""join() 按字節(jié)拼接 整體為字節(jié)類型bytes
dataStr = b"".join(data)

# 6.關閉連接
socket1.close()

header, html = dataStr.split(b"

", 1)
# 將字節(jié)解碼(utf-8) 解碼為字符串數據類型的數據
print(header.decode("utf-8"))


with open("sina.html",  "wb") as f:
    f.write(html)

TCP服務端
# TCP服務端

import socket
# 1.創(chuàng)建一個socket 用作服務端

server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

# 2.綁定一個IP地址及端口號

# 端口號的范圍 1-65536
# ip 地址 端口號
server.bind(("10.31.157.15", 43998))

# 3.監(jiān)聽
# 傳入的值在指定的拒絕鏈接之前允許鏈接的最大數,該值至少為1
# 大部分設置為5即可
server.listen(5)
print("Waiting for connection...")

# 4.等待客戶端連接,會阻塞程序運行
# server.accept()  如果鏈接成功,會返回客戶端的socket及address
clientSocket, clientAddress = server.accept()
print(clientSocket)
print(clientAddress)

while True:
    # 5.接受客戶端數據
    data = clientSocket.recv(1024)
    print("客戶端說:",data.decode("utf-8"))

    # 6.發(fā)送數據給客戶端
    sendDate = input("請輸入想要發(fā)送的內容:")
    clientSocket.send(sendDate.encode("utf-8"))
TCP客戶端
# TCP 客戶端

import socket

# 1.創(chuàng)建一個socket:用于客戶端

client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

# 2.創(chuàng)建鏈接:鏈接服務器
client.connect(("10.31.157.15", 43998))


while True:
# 3.客戶端發(fā)送給服務器端信息
    dataStr = input("請輸入想要發(fā)送給服務器的內容")
    client.send(dataStr.encode("utf-8"))
    # 客戶端接受服務器端的信息
    data = client.recv(1024)
    print("服務器說:", data.decode("utf-8"))

多線程服務器
import socket
from threading import Thread # 線程

server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server.bind(("10.31.157.15", 43998))
server.listen(5)
print("Waiting for connection...")
# 等待客戶端連接

def chat(client, address):
    while True:
        data = client.recv(1024)
        print("客戶端",address,":", data.decode("utf-8"))
        sendData = input("服務器說:")
        client.send(sendData.encode("utf-8"))



# 等待客戶端連接
while True:
    clientSock, clientAddress = server.accept()
    print(clientAddress)
    # 接收數據,發(fā)送數據放到線程
    threadChat = Thread(target=chat, args=(clientSock, clientAddress))
    # 啟動線程
    threadChat.start()
UDP介紹

TCP: 是建立可靠鏈接,服務器及客戶端都可接受發(fā)送數據
UDP : 不需要建立可靠鏈接,只需要知道對方的IP地址及端口號即可
UDP可以直接發(fā)送數據,但對方能不能接收就不一定了

UDP的鏈接不可靠,但與TCP相比,速度快,對于需求不高的數據可以使用UDP

飛秋群發(fā)
import socket
# UDP SOCK_DGRAMY以包的形式傳輸數據
socket1 = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

str1 = "1_lbt4_10#32499#002481627512#0#0#0:1289671407:名字:備注:288:發(fā)送的內容"

for i in range(1,255):
    address = ("10.31.162.%s"%(i),2425)
    socket1.sendto(str1.encode("gbk"), address)
UDP服務器
import socket

# 1.創(chuàng)建socket

server = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

# 2.綁定
server.bind(("10.31.157.15", 39999))


while True:
    # 3.接受數據 recvfrom
    data, address = server.recvfrom(1024)
    print(address,"說:", data.decode("utf-8"))
    # 4.發(fā)送數據
    sendStr = input("發(fā)送的數據為:")
    server.sendto(sendStr.encode("utf-8"), address)

UDP客戶端
import socket
client = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
print("Waiting for connection...")
while True:
    # 發(fā)送數據
    sendStr = input("客戶發(fā)送:")
    client.sendto(sendStr.encode("utf-8"), ("10.31.157.15", 39999))
    # 接收數據
    data, address = client.recvfrom(1024)
    print(address, "服務端說:", data.decode("utf-8"))





文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉載請注明本文地址:http://www.ezyhdfw.cn/yun/41643.html

相關文章

  • 【私有網絡 UVPC】網絡ACL簡介,ACL規(guī)劃已經操作指南

    摘要:關聯(lián)子網創(chuàng)建網絡后,用戶可將該與所屬下的任意子網進行綁定和解綁。支持子網內全部資源子網內指定資源。因此需要額外添加一條針對同子網網段的放行規(guī)則。網絡網絡是子網級別的安全策略,用于控制進出子網的數據流。網絡ACL簡介網絡ACL是子網級別的安全策略,用于控制進出子網的數據流。用戶可以通過設置出站規(guī)則和入站規(guī)則,對進出子網的流量進行精確控制。網絡ACL是無狀態(tài)的,例如用戶如果需要允許某些訪問,則需...

    Tecode 評論0 收藏0
  • Android 面試必備 - 計算機網絡基本知識(TCP,UDP,Http,https)

    摘要:在網絡層有協(xié)議協(xié)議協(xié)議協(xié)議和協(xié)議。而且,因為有確認機制三次握手機制,這些也導致容易被人利用,實現等攻擊。沒有的這些機制,較被攻擊者利用的漏洞就要少一些。但也是無法避免攻擊的,比如攻擊缺點不可靠,不穩(wěn)定。 簡介 HTTP協(xié)議(超文本傳輸協(xié)議)和 UDP(用戶數據包協(xié)議),TCP 協(xié)議(傳輸控制協(xié)議) TCP/IP是個協(xié)議組,可分為四個層次:網絡接口層、網絡層、傳輸層和應用層。在網絡層有I...

    My_Oh_My 評論0 收藏0
  • 網絡ACL簡介 私有網絡 UVPC

    摘要:網絡簡介網絡簡介本篇目錄關聯(lián)子網關聯(lián)子網出站入站規(guī)則出站入站規(guī)則產品配額產品配額網絡是子網級別的安全策略,用于控制進出子網的數據流。用戶對網絡規(guī)則的更新,會自動應用到與其相關聯(lián)的子網。支持子網內全部資源子網內指定資源。 網絡ACL簡介本篇目錄關聯(lián)子網出站/入站規(guī)則產品配額網絡ACL是子網級別的安全策略,用于控制進出子網的數據流。用戶可以通過設置出站規(guī)則和入站規(guī)則,對進出子網的流量進行精確控制...

    ernest.wang 評論0 收藏171

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<