2017-01-09 2 views
0

Простые транзакционные средства на моем веб-сайте У меня есть 8 HTML forms, которые имеют 10-15 полей ввода, а некоторые forms также имеют возможность загрузки файлов.Могу ли я использовать socket.io для простых транзакций?

Я использую Angular js на стороне клиента и Express js на стороне сервера. В Angular я использую Angular Resource для HTTP-операций. Это нормально, теперь я хочу использовать socket.io с угловыми js и хочу заменить Angular resource на socket.io.

Я видел несколько примеров, когда socket.io используется для обмена мгновенными сообщениями или какой-то конкретной задачей не для представления данных формы и всего. Но мое любопытство в том, что все хотят скорости, и я могу делать операции быстрее, если я использую socket.io.

Я думаю в правильном направлении или нет?

Спасибо.

+0

Что вы хотите достичь, используя socket.io? Вы уже можете легко вводить подтверждение ввода на стороне клиента с помощью Angular. Я мог бы представить некоторые полезные приложения, в которых вы передаете вход «на лету» через socket.io и возвращаете подсказки/предложения ввода – Max

ответ

1

Я думаю в правильном направлении или нет?

Нет, не совсем.

Но мое любопытство заключается в том, что каждый хочет скорость, и я могу выполнять операции быстрее, если я использую socket.io.

Непонятно, почему вы думаете, что socket.io будет быстрее, чем просто делать HTTP-сообщение для ваших входных данных формы. Вероятно, нет заметной разницы, безусловно, не заметной для конечного пользователя. Если вы делали миллион из одного и того же клиента на один и тот же сервер за относительно короткий промежуток времени, то, возможно, было бы разумнее использовать соединение socket.io, чтобы избежать небольших накладных расходов при настройке каждого HTTP-соединения , но если вы делаете только несколько от каждого клиента, эта разница в значительной степени неактуальна, и дополнительные накладные расходы на поддержание отдельного подключения socket.io к каждому клиенту (даже когда клиент ничего не делает) - это компромисс в обратном направлении ,

Zillions of zillions of sites in the Internet использует HTTP-сообщение для отправки данных формы на свой сервер. Оно работает. Это относительно эффективно. Expressjs построен для легкой обработки. Вы не предложили никаких причин, почему вы должны заменить его чем-то другим.

Вы можете использовать socket.io для представления формы. С socket.io вы просто упаковываете данные формы в объект по вашему выбору и отправляете объект. socket.io преобразует объект в JSON, отправит JSON, а затем принимающую сторону socket.io на вашем сервере автоматически преобразует JSON обратно на серверный Javascript-объект, и вы будете иметь все данные своей формы. Таким образом, это будет прекрасно работать с socket.io - просто не понятно, почему вы думаете, что это лучше, чем просто делать HTTP-сообщение на вашем сервере Expressjs.

+0

Я думал, что Socket.io будет быстрее (я не уверен), потому что в основном он используется в чате приложение, которое больше данных в реальном времени. –

+1

@ArpitMeena - socket.io используется для чата, потому что серверу необходимо «нажимать» данные клиенту, когда кто-то еще чат вам. Таким образом, требуется непрерывное соединение, чтобы сервер мог отправлять данные клиенту в любое время. Он используется по этой причине не из-за производительности. Ваша ситуация не требует этой функции и, следовательно, будет очень хорошо работать с HTTP. – jfriend00

+0

Теперь я понял. Большое спасибо @ Jfriend00. –

Смежные вопросы