Я хочу написать простой клиент для этого сервера Go . когда я подключаюсь к серверу из CMD через telnet, он работает нормально, т.е. когда клиент подключается, сервер запрашивает имя пользователя, но когда я пытаюсь подключиться со следующего клиента:
package main
import (
"bufio"
"fmt"
"net"
"os"
)
func main() {
// connect to this socket
conn, _ := net.Dial("tcp", "127.0.0.1:8181")
for {
// read in input from stdin
reader := bufio.NewReader(os.Stdin)
fmt.Print("Write to send: ")
text, _ := reader.ReadString('\n')
// send to socket
fmt.Fprintf(conn, text)
// listen for reply
message, _ := bufio.NewReader(conn).ReadString('\n')
fmt.Print("Message from server: " + message)
}
}
Сервер всегда остаетсяпозади в одном сообщении. Например, после запуска сервера и попытки подключения с клиента:
Вывод сервера:
D:\>go run server.go
2019/11/10 22:07:19 listening on: 127.0.0.1:8181
2019/11/10 22:07:24 createclient: remote connection from: 127.0.0.1:55565
2019/11/10 22:07:29 new client created: 127.0.0.1:55565 devy
Вывод клиента:
D:\>go run client.go
Write to send: devy
Message from server: Please Enter Name: ---------------------------
Write to send:
Но я хочу, чтобысообщение «Пожалуйста, введите имя: ---------------------------» с сервера будет отображаться первым при входе клиента в систему