Почему не подключается удаленный клиент к простому серверу на golang запущенному локально? Вот есть простой сервер на го package main
import (
"bufio"
"fmt"
"log"
"net"
)
// Our server
const (
HOST = ""
PORT = "8080"
TYPE = "tcp4"
)
func main() {
listener, err := net.Listen(TYPE, fmt.Sprintf("%s:%s", HOST, PORT))
if err != nil {
log.Fatal("Error listening " + err.Error())
}
defer func() {
if err := listener.Close(); err != nil {
fmt.Println("Error stoping listener")
fmt.Println("Listener closed.")
}
}()
fmt.Printf("[+] Server listening on %s:%s type %s\n", HOST, PORT, TYPE)
for {
connection, err := listener.Accept()
if err != nil {
fmt.Println("Error accepting connection ", err.Error())
continue
}
fmt.Println("Accepted connection: ", connection.RemoteAddr().String())
go handleRequest(connection)
}
}
func handleRequest(connection net.Conn) error {
defer func() {
if err := connection.Close(); err != nil {
fmt.Println("Error closing connection: ", err.Error())
}
}()
r := bufio.NewReader(connection)
w := bufio.NewWriter(connection)
scanr := bufio.NewScanner(r)
for {
scanned := scanr.Scan()
if !scanned {
if err := scanr.Err(); err != nil {
log.Printf("Scanning error on %v(%v)", err, connection.RemoteAddr().String())
return err
}
}
text := scanr.Text()
fmt.Printf("Recieved data from %s: %s\n", connection.RemoteAddr().String(), text)
w.WriteString(text + "\r\n")
w.Flush()
if text == "quit" || text == "exit" {
fmt.Println("Recieved exit request", connection.RemoteAddr().String(), text)
break
}
}
return nil
}
Смотрю локально свой ip адрес: 192.168.31.245
Запускаю виртуалку и в ней через telnet 192.168.31.245 8080 эту команду получаю соединение, все ок.
Таким же образом пытаюсь подключиться на удаленном сервере выделенном на центосе и постоянно пишет "Trying 192.168.31.243..." но само подключение не идет..
В чем может быть проблема?

21 Авг 2019 в 06:33
225 +1
1
Ответы
1

Проблема может быть связана с различными факторами:

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

Настройки сети: Проверьте правильность настроек сети на удаленном сервере, возможно, что есть проблемы с маршрутизацией или настройками IP.

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

Проблемы в коде: Убедитесь, что ваш код сервера правильно работает и не вызывает ошибок при установлении соединения с удаленным клиентом.

Настройки безопасности: Возможно, что на удаленном сервере применены дополнительные настройки безопасности, которые могут блокировать соединение с локальным сервером.

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

20 Апр в 13:16
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 92 588 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир