день 26 Резюме

среда разработки программного обеспечения

среда разработки программного обеспечения, необходимо разработать набор клиента и сервера

Роль клиента и на стороне сервера

Сервер: 24 часа в день , чтобы обеспечить обслуживание
клиентов: Если вы хотите , чтобы найти нужную услугу, обратите внимание на сервис и наслаждаться

среда разработки программного обеспечения делятся на два типа:

C / S Архитектура:

Клиент: Клиент -
сервер: сервер

Преимущества: использование программного обеспечения является стабильным, и может сохранить сетевые ресурсы

Недостатки: Если пользователи хотят использовать несколько программное обеспечение на одном устройстве, необходимо загрузить несколько клиентов

2. Каждое обновление программного обеспечения, клиент должен также обновить скачать

C / S структура программного обеспечения:

Например: QQ, PyCharm как на компьютере ... мобильный терминал (мобильный терминал) WeChat, король

Структура / S B:

Браузер: браузер (клиент)

Сервер: Сервер

Плюсы: выступать в качестве браузера клиента, не требуя от пользователя загружать несколько программного обеспечения, нет необходимости, чтобы загрузить обновленную версию программного обеспечения пользователя, программное обеспечение, используемое для доступа непосредственно в браузере

Минусы: чрезмерное потребление ресурсов сети, когда сеть нестабильна, использование программного обеспечения будет нестабильным

B / S структура программного обеспечения:

Например: Введите имя домена , часть программного обеспечения в браузере (клиента) ( http://xxxxxx.com/ )

Сетевое программирование

- история развития сетевого программирования

Все отсчеты получены из передовых военных, надеясь получить данные через удаленный, отсюда и «Сетевое программирование»

Как рано дистанционная связь: - вызов ---> телефонная линия

- плоский экран компьютера -> Ethernet-кабель, проводная LAN

- Ноутбук -> Беспроводной доступ в Интернет

Для достижения удаленной связи необходимо иметь:

1. Физическая связь СМИ ---> карта ....

Протокол 2. Интернет

- межличностное общение СМИ: китайский, английский

- связь между средствами компьютера: «Интернет-протокола»

межсетевой протокол

Internet Protocol, также известный как сетевые протоколы семислойных, протокол OSI семь слой, OSI является мировым стандартом организации

Протокол OSI семь слоя:

- уровень приложений

- Уровень представления

- Session Layer

- Transport Layer

- Сетевой уровень

- Data Link Layer

- физический уровень соединения

Учась снизу вверх:

Приоритет должен знать всего пять соглашений

- физический уровень соединения

На основе электрических сигналов, передаваемых данных двоичного 0,101,010,111

010: вы вы

101: I I

- Data Link Layer

Канальный уровень «протокол Ethernet», специализированная обработка пользовательских данных на основе электрических сигналов, передаваемый двоичным

протоколы Ethernet:

1. Обеспечение электрической хорошей группировки

2. Каждый компьютер, подключенный к сети кабель должен быть сделан «карта»

- сетевые карты от разных производителей

- Каждая карта будет иметь уникальный номер в мире 12

- до 6: Vendor No.

- После шести: серийный номер

- Переключатель: несколько компьютеров могут быть соединены друг с другом

Ethernet на основе протокола для передачи данных:

Особенности: Радио, тонкий -

Недостатки: широковещательный шторм, не могут обмениваться данные по локальной сети

- Интернет: обеспечить связь между локальной сетью

сетевой уровень

IP-адрес: адрес, который однозначно идентифицирует ваш компьютер (локальная сеть).

IP: пунктир десятичная

Минимум: 0.0.0.0

Максимум: 255.255.255.255

IPV4 (знать): несколько человек начал пользоваться компьютером, так что версия протокола IPV4

IPV6 (понимать):

Native IP: петлевой адрес, 127.0.0.1 -> локальный

Транспортный уровень

Протокол TCP / UDP, они основаны на портовых работ

- Номер порта: идентифицирует определенный компьютер программное обеспечение

- Диапазон номер порта: 0-65535

Примечание: 1. Операционной системы, порты 0-1024, как правило, используется по умолчанию (не двигается)

Номер интерфейса после 2. Попробуйте использовать 80,008,001

номер порта по умолчанию, используемый в разработке программного обеспечения:

MySQL: 3306

mongdb: 27017

Джанго: 8000

Tomcat: 8080

Настой: 5000

Redis: 6379

Если вы хотите, чтобы сервер для связи с клиентом, он должен установить связь, в результате чего два-полосной канале

Клиент посылает сообщение серверу

Еще один является сервер клиента, чтобы отправить сообщение

Прикладной уровень

HTTP

FTP

Краткое описание: IP: место используется для однозначной идентификации компьютера

порт: порт для приложения программного обеспечения на компьютере, чтобы подтвердить

IP + порт: программное приложение на компьютерном мире

Протокол TCP работает

- три-рукопожатие, махая четыре

- три-рукопожатие построить соединение:

Установить двухсторонний канал, чтобы установить хорошие связи

слушать: слушать

установлено: запрос подтверждения для установления соединения

- отправить данные

запись

считывание

Клиент отправляет данные на сервер, данные, хранящиеся в памяти, сервер должен подтвердить получение, данные будут освобождены в памяти

В противном случае, он будет отправлен, как только время от времени, так что сервер возвращает квитанцию ​​с подтверждением

В течение определенного периода времени, если плавная или не возвращает подтверждение о получении, передача отменяется, и освобождает память данных

- Четыре машет Короткая ссылка:

TIME_WITE: время ожидания

Scoket

модуль гнездо, может написать архитектуры гнездо C / S.

Уровни протоколов Оправа будет хороший пакет работы

Преимущества: Вы можете сэкономить затраты на разработку
Использование: импорт сокета

# 服务端
import socket

server = socket.socket()

server.bind(
    ('127.0.0.1', 9527)
)

server.listen(1)
while True:
    conn, addr = server.accept()

    while True:
        print(addr)
        try:
            data = conn.recv(10).decode('utf8')
            print(data)

            if data == 'q':
                break

            conn.send(data.encode(('utf8')))
        except Exception as e:
            print(e)
            break

    conn.close()
# 客户端
import socket

client = socket.socket()

client.connect(
    ('127.0.0.1', 8888)
)

while True:
    send_msg = input('client---》server:')

    client.send(send_msg.encode('utf-8'))

    if send_msg == 'q':
        break

    data = client.recv(1024).decode('utf-8')
    print(data)

client.close()

Примечание: клиент и сервер должны быть соблюдены:

Один конец посыла, другой конец RECV
разные концы одновременно посылать или RECV

рекомендация

отwww.cnblogs.com/LZF-190903/p/11695650.html