Apakah perbezaan antara komunikasi soket dan komunikasi tcp?
Perbezaan antara komunikasi soket dan komunikasi tcp: 1. Protokol tcp tergolong dalam protokol lapisan pengangkutan, manakala soket ialah lapisan abstrak antara lapisan aplikasi dan lapisan pengangkutan 2. Tiga jabat tangan diperlukan untuk mewujudkan sambungan TCP; 3. Sambungan soket boleh mengekalkan sambungan yang panjang;
Persekitaran pengendalian artikel ini: sistem Windows 10, komputer Dell G3.
Apakah perbezaan antara komunikasi soket dan komunikasi tcp?
Perbezaan antara tcp dan soket
1: protokol tcp
protokol tcp tergolong dalam protokol lapisan pengangkutan (UDP juga tergolong dalam protokol lapisan pengangkutan, tetapi protokol UDP tidak mempunyai kewarganegaraan). Mewujudkan sambungan TCP memerlukan tiga jabat tangan, dan memutuskan sambungan TCP memerlukan empat gelombang. Telefon mudah alih boleh menggunakan fungsi rangkaian kerana lapisan bawah telefon bimbit melaksanakan protokol TCP/IP Anda boleh menggunakan terminal telefon mudah alih untuk mewujudkan sambungan TCP dengan pelayan melalui rangkaian wayarles. Protokol TCP boleh menyediakan antara muka kepada rangkaian lapisan atas, supaya penghantaran data rangkaian lapisan atas ditubuhkan pada rangkaian "tidak dibezakan".
Tcp memerlukan tiga jabat tangan untuk mewujudkan sambungan:
Rajah 1: Gambar rajah jabat tangan tiga hala sambungan Tcp
Seperti yang ditunjukkan dalam rajah:
Keperluan pelanggan Untuk mewujudkan sambungan tcp dengan pelayan, mula-mula hantar isyarat syn J ke pelayan Selepas menerima isyarat ini, pelayan bertindak balas kepada klien dengan isyarat ACK J 1 dan isyarat syn K tambahan ACK J 1 Selepas menerima isyarat, saya akan tahu bahawa pelayan boleh menerima isyarat saya, dan kemudian pelanggan saya boleh menghantar data ke pelayan anda dengan selamat tanpa bimbang pelayan anda tidak boleh menerima data yang saya hantar.
Selepas klien menerima isyarat SYN K yang dihantar oleh pelayan, ia juga perlu menghantar isyarat ACK K 1 kembali ke pelayan, supaya pelayan akan tahu apabila ia menerima isyarat ini bahawa pelayan saya menghantar anda isyarat pelanggan, pelanggan anda boleh menerimanya, supaya pelayan saya boleh menghantar data dengan selamat kepada pelanggan anda tanpa perlu risau bahawa pelanggan anda tidak boleh menerima data yang dihantarnya.
Malah, anda boleh lihat daripada penerangan di atas:
Mewujudkan sambungan boleh dilakukan dalam empat langkah yang sama seperti memutuskan sambungan TCP, tetapi ia hanya menggabungkan isyarat tindak balas pelayan ACK dan permintaan pengesahan pelanggan Dua langkah SYNC isyarat diselesaikan dalam satu langkah.
Empat gelombang diperlukan apabila sambungan tcp ditutup:
Rajah 2: Empat gelombang gelombang apabila sambungan tcp diputuskan sambungan
Pelanggan menerima perkhidmatan Selepas isyarat tindak balas pelanggan ACK M 1, pelanggan tahu: Pelayan mengetahui bahawa pelanggan saya tidak lagi akan menghantar paket data ke pelayan anda, dan anda boleh berhenti memantau saya.
Tetapi pada masa ini, hanya aliran sehala dari klien ke pelayan telah berhenti, dan aliran ke arah lain:
Penghantaran data dari pelayan ke klien masih boleh diteruskan seperti biasa sehingga The pelayan menghantar isyarat gelombang FIN N kepada pelanggan, dan pelanggan bertindak balas dengan isyarat ACK N 1 kepada pelayan Hanya selepas itu pelayan tahu: Pelanggan tahu bahawa pelayan saya tidak lagi akan menghantar paket data kepada pelanggan anda berhenti merawat saya.
Pada ketika ini, aliran sehala klien->pelayan dan aliran sehala pelayan->klien telah berhenti, dan sambungan boleh ditutup.
2: soket
Kami tahu bahawa jika dua proses perlu berkomunikasi, premis yang paling asas ialah dapat mengenal pasti secara unik proses dalam komunikasi proses tempatan, kita boleh PID digunakan untuk mengenal pasti proses secara unik, tetapi PID hanya unik secara tempatan Kebarangkalian konflik PID antara dua proses dalam rangkaian adalah sangat tinggi. Kita perlu mencari cara lain lapisan IP boleh mengenal pasti hos secara unik, dan protokol lapisan TCP dan nombor port boleh mengenal pasti secara unik proses pada hos, jadi kita boleh menggunakan alamat IP + protokol + nombor port untuk mengenal pasti proses pada rangkaian secara unik.
Setelah dapat mengenal pasti proses pada rangkaian secara unik, mereka boleh berkomunikasi menggunakan soket Apakah itu soket?
Kami sering menterjemah soket sebagai soket ialah lapisan abstrak antara lapisan aplikasi dan lapisan pengangkutan Ia mengabstrakkan operasi kompleks lapisan TCP/IP kepada beberapa antara muka mudah untuk lapisan aplikasi proses untuk berkomunikasi dalam rangkaian.
Rajah 5: Gambar rajah skema modul sistem komunikasi soket
Proses pelayan tcp dan klien tcp menggunakan komunikasi soket adalah seperti berikut.
Seperti yang anda lihat dari gambar, sambungan soket boleh mengekalkan sambungan yang panjang.
Rajah 6: Gambar rajah proses komunikasi pelanggan/pelayan soket asas
Perhatikan bahawa sambungan soket boleh ditutup secara aktif oleh klien atau pelayan.
Untuk lebih banyak pengetahuan berkaitan, sila lawati ruangan Soalan Lazim!
Atas ialah kandungan terperinci Apakah perbezaan antara komunikasi soket dan komunikasi tcp?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

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

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas











Artikel ini membawa anda pengetahuan yang berkaitan tentang php+socket, yang terutamanya memperkenalkan pemultipleksan IO dan bagaimana php+socket melaksanakan pelayan web? Rakan-rakan yang berminat boleh lihat di bawah ini semoga bermanfaat untuk semua.

Bagaimana untuk menetapkan semula protokol tcp/ip dalam win10? Sebenarnya, kaedahnya sangat mudah Pengguna boleh terus memasukkan command prompt, dan kemudian tekan kombinasi kekunci ctrl+shift+enter untuk melaksanakan operasi, atau terus laksanakan arahan set semula untuk menyediakan pengguna pengenalan terperinci tentang cara menetapkan semula susunan protokol TCP/IP dalam Windows 10. Kaedah 1 untuk menetapkan semula timbunan protokol tcp/ip dalam windows 10. Kebenaran pentadbir 1. Kami menggunakan kekunci pintasan win+R untuk terus membuka tetingkap jalankan, kemudian masukkan cmd dan tahan ctrl+shift+enter kombinasi kekunci. 2. Atau kita boleh terus mencari command prompt dalam menu mula dan klik kanan

Klien TCP Kod sampel pelanggan yang menggunakan protokol TCP untuk mencapai dialog berterusan: importsocket#Konfigurasi pelanggan HOST='localhost'PORT=12345#Buat soket TCP dan sambung ke pelayan client_socket=socket.socket(socket.AF_INET,socket . SOCK_STREAM)client_socket.connect((HOST,PORT))whileTrue:#Dapatkan mesej input pengguna=input("Sila masukkan mesej yang hendak dihantar:&

Langkah pertama pada bahagian SpringBoot ialah memperkenalkan kebergantungan Pertama, kita perlu memperkenalkan kebergantungan yang diperlukan untuk WebSocket, serta kebergantungan untuk memproses format output com.alibabafastjson1.2.73org.springframework.bootspring-boot-starter-websocket. . Langkah kedua ialah mencipta kelas konfigurasi WebSocket importorg.context.annotation.Bean;importorg.springframework.context.annotation.Config.

1. Pengaturcaraan soket berdasarkan protokol TCP 1. Aliran kerja soket bermula dengan bahagian pelayan. Pelayan mula-mula memulakan Soket, kemudian mengikat ke port, mendengar port, menerima panggilan untuk menyekat, dan menunggu klien menyambung. Pada masa ini, jika pelanggan memulakan Soket dan kemudian menyambung ke pelayan, jika sambungan berjaya, sambungan antara klien dan pelayan diwujudkan. Pelanggan menghantar permintaan data, pelayan menerima permintaan dan memproses permintaan, kemudian menghantar data respons kepada klien, klien membaca data, dan akhirnya menutup sambungan Gunakan kod Python berikut untuk melaksanakan: importso

Penyelesaian kepada masalah bahawa soket php tidak boleh disambungkan: 1. Semak sama ada sambungan soket didayakan dalam php 2. Buka fail php.ini dan semak sama ada "php_sockets.dll" dimuatkan; ".

"Berorientasikan sambungan" yang disebut di sini bermakna anda perlu membuat sambungan, menggunakan sambungan dan melepaskan sambungan. Mewujudkan sambungan merujuk kepada jabat tangan tiga hala TCP yang terkenal. Apabila menggunakan sambungan, data dihantar dalam bentuk satu hantaran dan satu pengesahan. Terdapat juga pelepasan sambungan, yang merupakan gelombang empat gelombang TCP biasa kami.

PHP ialah bahasa pembangunan yang biasa digunakan yang boleh digunakan untuk membangunkan pelbagai aplikasi web. Selain permintaan dan respons HTTP biasa, PHP juga menyokong komunikasi rangkaian melalui Soket untuk mencapai interaksi data yang lebih fleksibel dan cekap. Artikel ini akan memperkenalkan kaedah dan teknik bagaimana untuk melaksanakan komunikasi Soket dalam PHP, dan melampirkan contoh kod tertentu. Apa itu Socket Communication Socket ialah kaedah komunikasi dalam rangkaian yang boleh memindahkan data antara komputer yang berbeza. oleh S