У меня есть подпрограмма Go, на которой запущен параллельный сервер TCP 4, но каждый раз, когда я подключаюсь к нему через Dial, сервер TCP выдает ошибку, говоря только «EOF». Интересно, что он обрабатывает первую строку данных, но затем дескриптор соединения выдает ошибку.
экземпляр tcp-сервера:
if err != nil {
fmt.Println("an error occured: ")
fmt.Println(err)
return
}
defer l.Close()
for {
conn, err_handle := l.Accept()
if err_handle != nil {
fmt.Println("node err: ",err_handle)
return
}
go handle_Connection(conn, topics)
}
handle_Connection:
func handle_Connection(conn net.Conn, topics map[string][]string) {
defer conn.Close()
fmt.Println("client connected")
for {
data, err_handle := bufio.NewReader(conn).ReadString('\n')
if err_handle != nil {
fmt.Println("Err: ", err_handle)
return
}
client :
conn, err := net.Dial("tcp4", ":"+strconv.Itoa(port))
if err != nil {
fmt.Println("an error occured: ")
fmt.Println(err)
}