Table of Contents
Python implements network communication data transmission (basic knowledge (1))
Preface" > Preface
Basic knowledge learning" > Basic knowledge learning
1. Synchronous and asynchronous" > 1. Synchronous and asynchronous
2. What is socket" > 2. What is socket
1. The stream format socket SOCK_STREAM" >1. The stream format socket SOCK_STREAM
2. Datagram format socket (SOCK_DGRAM) " >2. Datagram format socket (SOCK_DGRAM)
4. IP address, MAC address, port address" >4. IP address, MAC address, port address
Conclusion" >Conclusion
Home Backend Development Python Tutorial Basic knowledge of Python 1: Network communication data transmission

Basic knowledge of Python 1: Network communication data transmission

Feb 19, 2021 am 10:03 AM
python Telecommunication

Basic knowledge of Python 1: Network communication data transmission

Free learning recommendation: python tutorial(Video)

Python implements network communication data transmission (basic knowledge (1))

  • Preface
  • Basic knowledge learning
    • 1. Synchronous and asynchronous
    • 2. What is socket
    • 3 , Classification of socket sockets
      • 1. Stream format socket SOCK_STREAM
      • 2. Datagram format Socket (SOCK_DGRAM)
    • 4. IP address, MAC address, port address
  • Conclusion

Preface

I am not a communications and information major, but I have recently come into contact with some knowledge in this area and it feels quite interesting. I just studied it and recorded the learning results here so that more people can learn from it. It would be great if I could get some advice from the boss! ! !

Basic knowledge learning

1. Synchronous and asynchronous

  • Synchronization means that the entire processing process is executed sequentially. When each process is completed, the results are returned. It is a linear execution method, and the execution process cannot be crossed. It is generally used for procedures with strong process, such as user login, which requires user verification before logging into the system.
    (The sender sends one and the receiver receives one, which is synchronous.)
  • Asynchronous means just sending the calling instruction. The caller does not need to wait for the called method to complete execution; instead, it continues to execute the following process. It is a parallel processing method. You do not have to wait for a program to finish executing. You can perform other tasks, such as the page data loading process. There is no need to wait for all data to be obtained before displaying the page.
    (The sender sends data, and the receiver has a buffer area, which can be accepted according to its own rules. Of course, the sender can also send data according to its own rules. The two are asynchronous)

2. What is socket

  • ## The original meaning of socket is "socket". In the field of computer communication, socket Translated as "socket", it is a convention or a way for computers to communicate with each other. Through the socket convention, network connections are established between computers.
  • To facilitate understanding, we can compare it to a socket. We can get power supply from the power grid by inserting the plug into the socket. Similarly, in order to transmit data to a remote computer, we need Connect to the Internet, and socket is the tool used to connect to the Internet.
  • Different from UNIX/Linux, Windows distinguishes between sockets and files. Windows treats sockets as a network connection, so it is necessary to call a program specially designed for sockets. Data transfer functions, input and output functions for ordinary files are invalid.

3. Classification of socket sockets

The two main commonly used ones are stream format sockets (SOCK_STREAM) and data Report format socket (SOCK_DGRAM).

1. The stream format socket SOCK_STREAM

  • has the following characteristics:
    The data will not disappear during the transmission process;
    Data is transmitted in sequence;
    The sending and receiving of data is asynchronous.
  • It uses the TCP protocol (The Transmission Control Protocol). The TCP protocol will control your data to arrive in order and without errors.
    Emphasis on high quality.

2. Datagram format socket (SOCK_DGRAM)

  • The computer only transmits data and does not Data verification, if data is corrupted in transit, or does not reach the other computer, there is no way to remedy it. In other words, if the data is wrong, it is wrong and cannot be retransmitted. Because datagram sockets do less verification work, their transmission efficiency is higher than that of stream format sockets.
  • It has the following characteristics:
    Emphasis on fast transmission rather than transmission order;
    The transmitted data may be lost or damaged;
    Limit each transmission The data size;
    The sending and receiving of data are synchronous.
    Datagram sockets also use the IP protocol for routing, using the UDP protocol (User Datagram Protocol).
  • Note: SOCK_DGRAM is not as bad as imagined, data will not be lost frequently, and data errors are only a small probability event.

4. IP address, MAC address, port address

  • IP address: is the abbreviation of Internet Protocol Address, translated as "Internet Protocol Address". Currently, most software uses IPv4 addresses, but IPv6 is also being accepted, especially in education networks, where it has been widely used.
    For IPV4, it is unrealistic to have one IP address for one computer, so it is usually one IP address for one LAN. The router will find the location of the other party based on the IP address. The router has a very efficient and intelligent algorithm and will quickly find the target LAN.
  • MAC address: is the physical address. A LAN address has the MAC addresses of multiple computers. In addition to the The IP address of the other party is attached, and the MAC address of the other party is also attached. When the data packet reaches the LAN, the router/switch will find the corresponding computer based on the MAC address in the data packet
  • Port address: A computer can provide multiple network services at the same time, such as Web service (website), FTP service (file transfer service), SMTP service (mailbox service), etc., With only the IP address and MAC address, although the computer can receive the data packet correctly, it does not know which network program to hand the data packet to for processing, so the communication fails.
    In order to distinguish different network programs, the computer will assign a unique port number (Port Number) to each network program. Port is a virtual and logical concept. A port can be understood as a door through which data flows in and out. Each door has a different number, which is the port number. As shown in the picture below:
    Basic knowledge of Python 1: Network communication data transmission
  • Supplement: I just looked at the serial port and port ## today #the concept of:The serial port is an I/O communication interface and is a hardware category. It is referred to as the serial port because it uses serial signal communication.
    The port (referring to the general PC operating system, not counting the microcontroller) is just a 16-bit digital identifier, used to identify different communication processes in network communication. It is defined by the operating system, that is, if there is no operating system There is no concept of port

Conclusion

I have learned a lot about communication recently, I hope Take it out and share it with everyone. This article is just the beginning of the next few articles, making some basic preparations. Next, I will prepare some related knowledgeFinally, I will prepare several examples for everyone refer to! ! !
If you want to know what happened next time, please listen to the breakdown!

Free learning recommendation: python video tutorial

The above is the detailed content of Basic knowledge of Python 1: Network communication data transmission. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

PHP and Python: Code Examples and Comparison PHP and Python: Code Examples and Comparison Apr 15, 2025 am 12:07 AM

PHP and Python have their own advantages and disadvantages, and the choice depends on project needs and personal preferences. 1.PHP is suitable for rapid development and maintenance of large-scale web applications. 2. Python dominates the field of data science and machine learning.

Python vs. JavaScript: Community, Libraries, and Resources Python vs. JavaScript: Community, Libraries, and Resources Apr 15, 2025 am 12:16 AM

Python and JavaScript have their own advantages and disadvantages in terms of community, libraries and resources. 1) The Python community is friendly and suitable for beginners, but the front-end development resources are not as rich as JavaScript. 2) Python is powerful in data science and machine learning libraries, while JavaScript is better in front-end development libraries and frameworks. 3) Both have rich learning resources, but Python is suitable for starting with official documents, while JavaScript is better with MDNWebDocs. The choice should be based on project needs and personal interests.

Detailed explanation of docker principle Detailed explanation of docker principle Apr 14, 2025 pm 11:57 PM

Docker uses Linux kernel features to provide an efficient and isolated application running environment. Its working principle is as follows: 1. The mirror is used as a read-only template, which contains everything you need to run the application; 2. The Union File System (UnionFS) stacks multiple file systems, only storing the differences, saving space and speeding up; 3. The daemon manages the mirrors and containers, and the client uses them for interaction; 4. Namespaces and cgroups implement container isolation and resource limitations; 5. Multiple network modes support container interconnection. Only by understanding these core concepts can you better utilize Docker.

Can visual studio code be used in python Can visual studio code be used in python Apr 15, 2025 pm 08:18 PM

VS Code can be used to write Python and provides many features that make it an ideal tool for developing Python applications. It allows users to: install Python extensions to get functions such as code completion, syntax highlighting, and debugging. Use the debugger to track code step by step, find and fix errors. Integrate Git for version control. Use code formatting tools to maintain code consistency. Use the Linting tool to spot potential problems ahead of time.

How to run programs in terminal vscode How to run programs in terminal vscode Apr 15, 2025 pm 06:42 PM

In VS Code, you can run the program in the terminal through the following steps: Prepare the code and open the integrated terminal to ensure that the code directory is consistent with the terminal working directory. Select the run command according to the programming language (such as Python's python your_file_name.py) to check whether it runs successfully and resolve errors. Use the debugger to improve debugging efficiency.

Can vs code run in Windows 8 Can vs code run in Windows 8 Apr 15, 2025 pm 07:24 PM

VS Code can run on Windows 8, but the experience may not be great. First make sure the system has been updated to the latest patch, then download the VS Code installation package that matches the system architecture and install it as prompted. After installation, be aware that some extensions may be incompatible with Windows 8 and need to look for alternative extensions or use newer Windows systems in a virtual machine. Install the necessary extensions to check whether they work properly. Although VS Code is feasible on Windows 8, it is recommended to upgrade to a newer Windows system for a better development experience and security.

Is the vscode extension malicious? Is the vscode extension malicious? Apr 15, 2025 pm 07:57 PM

VS Code extensions pose malicious risks, such as hiding malicious code, exploiting vulnerabilities, and masturbating as legitimate extensions. Methods to identify malicious extensions include: checking publishers, reading comments, checking code, and installing with caution. Security measures also include: security awareness, good habits, regular updates and antivirus software.

Python: Automation, Scripting, and Task Management Python: Automation, Scripting, and Task Management Apr 16, 2025 am 12:14 AM

Python excels in automation, scripting, and task management. 1) Automation: File backup is realized through standard libraries such as os and shutil. 2) Script writing: Use the psutil library to monitor system resources. 3) Task management: Use the schedule library to schedule tasks. Python's ease of use and rich library support makes it the preferred tool in these areas.

See all articles