среда разработки программного обеспечения
среда разработки программного обеспечения, необходимо разработать набор клиента и сервера
Роль клиента и на стороне сервера
Сервер: 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