Jadual Kandungan
客户端
服务器端
Rumah pembangunan bahagian belakang Tutorial Python python如何实现客户端和服务器端的数据传输(代码)

python如何实现客户端和服务器端的数据传输(代码)

Sep 06, 2018 pm 05:53 PM
linux python

本篇文章给大家带来的内容是关于python如何实现客户端和服务器端的数据传输,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

客户端

def sock_client_data():
    while True:
        try:
            s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
            s.connect(('192.168.20.1', 6666))  #服务器和客户端在不同的系统或不同的主机下时使用的ip和端口,首先要查看服务器所在的系统网卡的ip
            # s.connect(('127.0.0.1', 6666))  #服务器和客户端都在一个系统下时使用的ip和端口
        except socket.error as msg:
            print(msg)
            print(sys.exit(1))
        data = input("input data:")   #输入要传输的数据
        s.send(data.encode())  #将要传输的数据编码发送,如果是字符数据就必须要编码发送
        s.close()
if __name__ == '__main__':
    sock_client_data()
Salin selepas log masuk

服务器端

def socket_service_data():
    try:
        s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
        s.bind(('127.0.0.1', 6666))  # 在同一台主机的ip下使用测试ip进行通信
        # s.bind(('192.168.20.1', 6666))  #在不同主机或者同一主机的不同系统下使用实际ip
        s.listen(10)
    except socket.error as msg:
        print(msg)
        sys.exit(1)

    print("Wait for Connection..................")

    while True:
        sock, addr = s.accept()
        buf = sock.recv(1024)  #接收数据
        buf = buf.decode()  #解码
        print("The data from " + str(addr[0]) + " is " + str(buf))
        print("Successfully")
        # return buf
        # sock.close()
if __name__ == '__main__':
    socket_service_data()
Salin selepas log masuk

运行结果:

客户端:

1337207291-5b8f532ce7da1_articlex.png

服务器端:

2089742058-5b8f534652001_articlex.png

说明:
1、服务器和客户端同在一个物理主机的同一系统下使用127.0.0.1,端口自己设置,只要不被占用即可,linux系统下查看端口是否被占用命令sudo netstat -nap | grep 6666 如果查不到端口则证明端口未被占用。建立两个.py文件,一个是sender.py,存放客户端程序,一个是recieve.py,存放服务器端程序,首先运行服务器端程序,待连接成功后再运行客户端程序,输入要传输的数据,在服务器终端看到传输过来的数据即为传输成功。
2、服务器和客户端在同一个物理主机的不同系统下,则使用服务器系统实际的ip地址,作者将windows作为客户端,linux作为服务器端,在linux终端输入 ifconfig查看ip,两个程序使用相同的ip和端口,将两个程序部署到各自的系统下,首先运行服务器端程序,再运行客户端程序,发送数据,待服务器端数据接收成功为止。

相关推荐:

Python实现的简单文件传输服务器和客户端

php上传图片客户端和服务器端实现方法,

Atas ialah kandungan terperinci python如何实现客户端和服务器端的数据传输(代码). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

<🎜>: Bubble Gum Simulator Infinity - Cara Mendapatkan dan Menggunakan Kekunci Diraja
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Sistem Fusion, dijelaskan
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Mandragora: Whispers of the Witch Tree - Cara Membuka Kunci Cangkuk Bergelut
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tutorial Java
1677
14
Tutorial PHP
1280
29
Tutorial C#
1257
24
Python vs JavaScript: Persekitaran dan Alat Pembangunan Python vs JavaScript: Persekitaran dan Alat Pembangunan Apr 26, 2025 am 12:09 AM

Kedua -dua pilihan Python dan JavaScript dalam persekitaran pembangunan adalah penting. 1) Persekitaran pembangunan Python termasuk Pycharm, Jupyternotebook dan Anaconda, yang sesuai untuk sains data dan prototaip cepat. 2) Persekitaran pembangunan JavaScript termasuk node.js, vscode dan webpack, yang sesuai untuk pembangunan front-end dan back-end. Memilih alat yang betul mengikut keperluan projek dapat meningkatkan kecekapan pembangunan dan kadar kejayaan projek.

Bagaimana untuk memahami operasi DMA di C? Bagaimana untuk memahami operasi DMA di C? Apr 28, 2025 pm 10:09 PM

DMA di C merujuk kepada DirectMemoryAccess, teknologi akses memori langsung, yang membolehkan peranti perkakasan secara langsung menghantar data ke memori tanpa campur tangan CPU. 1) Operasi DMA sangat bergantung kepada peranti perkakasan dan pemacu, dan kaedah pelaksanaan berbeza dari sistem ke sistem. 2) Akses langsung ke memori boleh membawa risiko keselamatan, dan ketepatan dan keselamatan kod mesti dipastikan. 3) DMA boleh meningkatkan prestasi, tetapi penggunaan yang tidak wajar boleh menyebabkan kemerosotan prestasi sistem. Melalui amalan dan pembelajaran, kita dapat menguasai kemahiran menggunakan DMA dan memaksimumkan keberkesanannya dalam senario seperti penghantaran data berkelajuan tinggi dan pemprosesan isyarat masa nyata.

MacOS vs Linux: Meneroka perbezaan dan persamaan MacOS vs Linux: Meneroka perbezaan dan persamaan Apr 25, 2025 am 12:03 AM

macosandlinuxbothofferuniquestrengths: macosprovidesauser-friendlyexperienceWithexcellenthardwareIntegration, manakala whilelinuxexcelsinflexabilityandCommunitysuport.macos, DevelodedByapple, diketahui

Bagaimana untuk mengendalikan paparan DPI yang tinggi di C? Bagaimana untuk mengendalikan paparan DPI yang tinggi di C? Apr 28, 2025 pm 09:57 PM

Mengendalikan paparan DPI yang tinggi di C boleh dicapai melalui langkah -langkah berikut: 1) Memahami DPI dan skala, gunakan API Sistem Operasi untuk mendapatkan maklumat DPI dan menyesuaikan output grafik; 2) Mengendalikan keserasian silang platform, gunakan perpustakaan grafik silang platform seperti SDL atau QT; 3) Melaksanakan pengoptimuman prestasi, meningkatkan prestasi melalui cache, pecutan perkakasan, dan pelarasan dinamik tahap butiran; 4) Selesaikan masalah biasa, seperti teks kabur dan elemen antara muka terlalu kecil, dan selesaikan dengan betul menggunakan skala DPI.

Masa Depan Python dan JavaScript: Trend dan Ramalan Masa Depan Python dan JavaScript: Trend dan Ramalan Apr 27, 2025 am 12:21 AM

Trend masa depan Python dan JavaScript termasuk: 1. Kedua -duanya akan terus mengembangkan senario aplikasi dalam bidang masing -masing dan membuat lebih banyak penemuan dalam prestasi.

MacOS dan Linux: Keserasian dan Pengalaman Pengguna MacOS dan Linux: Keserasian dan Pengalaman Pengguna Apr 30, 2025 am 12:05 AM

MacOS dan Linux mempunyai kelebihan sendiri dalam keserasian dan pengalaman pengguna. MacOS mempunyai keserasian yang sangat baik dalam ekosistem Apple, dan pengalaman pengguna adalah mudah dan intuitif; Linux mempunyai keserasian perkakasan yang luar biasa dan fleksibiliti perisian. Pengalaman pengguna berbeza dari pengedaran ke pengedaran, menekankan personalisasi dan kawalan.

Kedudukan Pertukaran Kuantitatif 2025 Cadangan Top 10 untuk Aplikasi Perdagangan Kuantitatif Mata Wang Digital Kedudukan Pertukaran Kuantitatif 2025 Cadangan Top 10 untuk Aplikasi Perdagangan Kuantitatif Mata Wang Digital Apr 30, 2025 pm 07:24 PM

Alat kuantisasi terbina dalam pertukaran termasuk: 1. Binance: Menyediakan modul kuantitatif niaga hadapan Binance, yuran pengendalian yang rendah, dan menyokong urus niaga AI-dibantu. 2. OKX (OUYI): Menyokong Pengurusan Multi Akaun dan Routing Pesanan Pintar, dan menyediakan kawalan risiko peringkat institusi. Platform strategi kuantitatif bebas termasuk: 3. 4. Kuadensi: Perpustakaan Strategi Algoritma Tahap Profesional, menyokong ambang risiko yang disesuaikan. 5. PionEx: Strategi Preset 16 terbina dalam, yuran transaksi yang rendah. Alat domain menegak termasuk: 6. Cryptohopper: platform kuantitatif berasaskan awan, menyokong 150 petunjuk teknikal. 7. Bitsgap:

Cara menyahpasang mysql dan fail sisa bersih Cara menyahpasang mysql dan fail sisa bersih Apr 29, 2025 pm 04:03 PM

Untuk selamat dan teliti menyahpasang MySQL dan membersihkan semua fail sisa, ikuti langkah -langkah berikut: 1. Hentikan perkhidmatan MySQL; 2. Nyahpasang pakej MySQL; 3. Fail konfigurasi bersih dan direktori data; 4. Sahkan bahawa pemotongan adalah menyeluruh.

See all articles