āĻ¯āĻžāĻĻā§āĻ° āĻāĻžāĻā§
āĻ¸āĻāĻā§āĻˇā§āĻĒā§
āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻāĻŋ āĻ¨āĻŋāĻ°ā§āĻāĻ°āĻ¯ā§āĻā§āĻ¯ āĻĄā§āĻāĻž āĻā§āĻ°āĻžāĻ¨ā§āĻ¸āĻŽāĻŋāĻļāĻ¨ā§āĻ° āĻŽā§āĻ˛ āĻŦāĻŋāĻˇāĻ¯āĻŧāĻā§āĻ˛āĻŋ āĻ¨āĻŋāĻ¯āĻŧā§ āĻāĻ˛ā§āĻāĻ¨āĻž āĻāĻ°ā§, āĻāĻĻāĻžāĻšāĻ°āĻŖāĻā§āĻ˛āĻŋ āĻĒā§āĻ°āĻ¯āĻŧā§āĻ āĻāĻ°ā§ā§ˇ
āĻĒāĻ°āĻŋāĻŦāĻšāĻ¨ āĻ¸ā§āĻ¤āĻ° āĻĒā§āĻ°ā§āĻā§āĻāĻ˛
āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻšā§āĻ¸ā§āĻā§ āĻāĻ˛āĻŽāĻžāĻ¨ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻā§āĻ˛āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻāĻāĻāĻŋ āĻ¯ā§āĻā§āĻ¤āĻŋāĻ āĻ¸āĻāĻ¯ā§āĻ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°ā§āĨ¤ āĻāĻāĻāĻŋ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ā§āĻ° āĻĻā§āĻˇā§āĻāĻŋāĻā§āĻŖ āĻĨā§āĻā§, āĻāĻāĻāĻŋ āĻ¯ā§āĻā§āĻ¤āĻŋāĻ āĻ¸āĻāĻ¯ā§āĻ āĻāĻāĻāĻŋ āĻā§āĻ¯āĻžāĻ¨ā§āĻ˛ā§āĻ° āĻŽāĻ¤ā§ āĻĻā§āĻāĻžāĻ¯āĻŧ āĻ¯āĻž āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻā§āĻ˛āĻŋāĻā§ āĻ¸āĻāĻ¯ā§āĻā§āĻ¤ āĻāĻ°ā§āĨ¤
āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻ¸ā§āĻ¤āĻ°ā§āĻ° āĻŦāĻžāĻ°ā§āĻ¤āĻžāĻā§āĻ˛āĻŋāĻā§ āĻāĻŖā§āĻĄā§ āĻāĻžāĻ āĻāĻ°ā§ (āĻ¯āĻĻāĻŋ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻšāĻ¯āĻŧ) āĻāĻŦāĻ āĻ¤āĻžāĻĻā§āĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋāĻ¤ā§ āĻāĻāĻāĻŋ āĻā§āĻ°āĻžāĻ¨ā§āĻ¸āĻĒā§āĻ°ā§āĻ āĻ˛ā§āĻ¯āĻŧāĻžāĻ° āĻšā§āĻĄāĻžāĻ° āĻ¯ā§āĻ āĻāĻ°ā§ āĻāĻāĻŋ āĻāĻ°āĻž āĻšāĻ¯āĻŧāĨ¤
āĻā§āĻ°āĻžāĻ¨ā§āĻ¸āĻĒā§āĻ°ā§āĻ āĻ˛ā§āĻ¯āĻŧāĻžāĻ° āĻ¤āĻžāĻ°āĻĒāĻ° āĻ¸ā§āĻāĻŽā§āĻ¨ā§āĻāĻāĻŋāĻā§ āĻĒā§āĻ°ā§āĻ°āĻā§āĻ° āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻ āĻ˛ā§āĻ¯āĻŧāĻžāĻ°ā§ āĻ¨āĻŋāĻ¯āĻŧā§ āĻ¯āĻžāĻ¯āĻŧ, āĻ¯ā§āĻāĻžāĻ¨ā§ āĻ¸ā§āĻāĻŽā§āĻ¨ā§āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻ āĻ˛ā§āĻ¯āĻŧāĻžāĻ° āĻĒā§āĻ¯āĻžāĻā§āĻā§ (āĻĄā§āĻāĻžāĻā§āĻ°āĻžāĻŽ) āĻāĻ¨āĻā§āĻ¯āĻžāĻĒāĻ¸ā§āĻ˛ā§āĻ āĻāĻ°ā§ āĻĒāĻžāĻ āĻžāĻ¨ā§ āĻšāĻ¯āĻŧāĨ¤ āĻ°āĻŋāĻ¸āĻŋāĻāĻŋāĻ āĻļā§āĻˇā§, āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻ āĻ˛ā§āĻ¯āĻŧāĻžāĻ° āĻĄā§āĻāĻžāĻā§āĻ°āĻžāĻŽ āĻĨā§āĻā§ āĻā§āĻ°āĻžāĻ¨ā§āĻ¸āĻĒā§āĻ°ā§āĻ āĻ˛ā§āĻ¯āĻŧāĻžāĻ° āĻ¸ā§āĻāĻŽā§āĻ¨ā§āĻ āĻŦā§āĻ° āĻāĻ°ā§ āĻāĻŦāĻ āĻā§āĻ°āĻžāĻ¨ā§āĻ¸āĻĒā§āĻ°ā§āĻ āĻ˛ā§āĻ¯āĻŧāĻžāĻ°ā§ āĻĒā§āĻāĻā§ āĻĻā§āĻ¯āĻŧāĨ¤ āĻāĻ°āĻĒāĻ°ā§, āĻĒāĻ°āĻŋāĻŦāĻšāĻ¨ āĻ¸ā§āĻ¤āĻ°āĻāĻŋ āĻĒā§āĻ°āĻžāĻĒā§āĻ¤ āĻ¸ā§āĻāĻŽā§āĻ¨ā§āĻāĻā§ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻāĻ°ā§ āĻ¯āĻžāĻ¤ā§ āĻāĻ° āĻĄā§āĻāĻž āĻā§āĻ°āĻšāĻŖāĻāĻžāĻ°ā§ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ā§āĻ° āĻāĻžāĻā§ āĻāĻĒāĻ˛āĻŦā§āĻ§ āĻšāĻ¯āĻŧāĨ¤
āĻ¨āĻŋāĻ°ā§āĻāĻ°āĻ¯ā§āĻā§āĻ¯ āĻĄā§āĻāĻž āĻā§āĻ°āĻžāĻ¨ā§āĻ¸āĻŽāĻŋāĻļāĻ¨ā§āĻ° āĻ¨ā§āĻ¤āĻŋ
āĻāĻāĻāĻŋ āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖ āĻ¨āĻŋāĻ°āĻžāĻĒāĻĻ āĻā§āĻ¯āĻžāĻ¨ā§āĻ˛ā§āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻ¨āĻŋāĻ°ā§āĻāĻ°āĻ¯ā§āĻā§āĻ¯ āĻĄā§āĻāĻž āĻā§āĻ°āĻžāĻ¨ā§āĻ¸āĻŽāĻŋāĻļāĻ¨
āĻ¸āĻŦāĻā§āĻ¯āĻŧā§ āĻ¸āĻšāĻ āĻā§āĻ¸āĨ¤ āĻĒāĻžāĻ āĻžāĻ¨ā§āĻ° āĻĻāĻŋāĻāĻāĻŋ āĻā§āĻŦāĻ˛ āĻāĻĒāĻ°ā§āĻ° āĻ¸ā§āĻ¤āĻ° āĻĨā§āĻā§ āĻĄā§āĻāĻž āĻā§āĻ°āĻšāĻŖ āĻāĻ°ā§, āĻāĻāĻŋ āĻ§āĻžāĻ°āĻŖāĻāĻžāĻ°ā§ āĻāĻāĻāĻŋ āĻĒā§āĻ¯āĻžāĻā§āĻ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§ āĻāĻŦāĻ āĻā§āĻ¯āĻžāĻ¨ā§āĻ˛ā§ āĻĒāĻžāĻ āĻžāĻ¯āĻŧāĨ¤
āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°
package main
import (
"log"
"net"
)
func main() {
// IP-Đ°Đ´ŅĐĩŅ ŅĐĩŅвĐĩŅĐ° и ĐŋĐžŅŅ
serverAddr, err := net.ResolveUDPAddr("udp", "127.0.0.1:12000")
if err != nil {
log.Fatal(err)
}
// ŅОСдаĐĩĐŧ ŅĐžĐēĐĩŅ Ņ ĐŋĐžŅŅĐžĐŧ
serverConn, err := net.ListenUDP("udp", serverAddr)
if err != nil {
log.Fatal(err)
}
// ĐžŅĐģĐžĐļĐĩĐŊĐŊĐžĐĩ СаĐēŅŅŅиĐĩ ŅĐžĐĩдиĐŊĐĩĐŊиŅ
defer serverConn.Close()
// ŅОСдаĐĩĐŧ ĐąŅŅĐĩŅ Đ´ĐģŅ Đ´Đ°ĐŊĐŊŅŅ
buf := make([]byte, 1024)
// ĐļĐ´ĐĩĐŧ ŅĐžĐĩдиĐŊĐĩĐŊиĐĩ
for {
// ŅиŅĐ°ĐĩĐŧ СаĐŋŅĐžŅ
n, addr, err := serverConn.ReadFromUDP(buf)
// ĐŋĐĩŅĐĩĐ´Đ°ĐĩĐŧ Đ´Đ°ĐŊĐŊŅĐĩ в ĐĐĐ ĐĨĐĐĐ ŅŅОвĐĩĐŊŅ: в ĐŊĐ°ŅĐĩĐŧ ŅĐģŅŅĐ°Đĩ stdout
println(string(buf[0:n]), " form ", addr.IP.String())
if err != nil {
log.Fatal(err)
}
// ĐžŅвĐĩŅĐ° ĐŊĐĩŅ, Ņ.Đē. ŅŅĐž UDP + ĐŊĐ°Đ´ĐĩĐļĐŊŅĐš ĐēĐ°ĐŊĐ°Đģ
}
}
āĻā§āĻ°ā§āĻ¤āĻž
package main
import (
"fmt"
"log"
"net"
"time"
)
func main() {
// IP-Đ°Đ´ŅĐĩŅ ŅĐĩŅвĐĩŅĐ° и ĐŋĐžŅŅ
serverAddr, err := net.ResolveUDPAddr("udp", "127.0.0.1:12000")
if err != nil {
log.Fatal(err)
}
// ĐģĐžĐēĐ°ĐģŅĐŊŅĐš IP-Đ°Đ´ŅĐĩŅ и ĐŋĐžŅŅ
localAddr, err := net.ResolveUDPAddr("udp", "127.0.0.1:0")
if err != nil {
log.Fatal(err)
}
// ŅŅŅĐ°ĐŊОвĐēĐ° ŅĐžĐĩдиĐŊĐĩĐŊиŅ
conn, err := net.DialUDP("udp", localAddr, serverAddr)
if err != nil {
log.Fatal(err)
}
// ĐžŅĐģĐžĐļĐĩĐŊĐŊĐžĐĩ СаĐēŅŅŅиĐĩ ŅĐžĐĩдиĐŊĐĩĐŊиŅ
defer conn.Close()
for {
// ĐŋĐžĐģŅŅĐĩĐŊиĐĩ Đ´Đ°ĐŊĐŊŅŅ
ĐžŅ ĐĐĐ ĐĨĐĐĐĐ ŅŅОвĐŊŅ
fmt.Print("ĐвĐĩдиŅĐĩ ŅŅŅĐžŅĐŊĐžĐĩ ĐŋŅĐĩĐ´ĐģĐžĐļĐĩĐŊиĐĩ > ")
var msg string
_, err := fmt.Scanf("%s", &msg)
if err != nil {
log.Fatal(err)
}
// ĐŋĐĩŅĐĩĐ´Đ°ĐĩŅŅŅ ĐŋĐžŅĐžĐē йаКŅ, Đ° ĐŊĐĩ ŅŅŅĐžĐēĐ°
buf := []byte(msg)
// СаĐŋиŅŅ (ĐŋĐĩŅĐĩĐ´Đ°ŅĐ°) в ŅĐžĐĩдиĐŊĐĩĐŊиĐĩ
_, err = conn.Write(buf)
if err != nil {
log.Fatal(err)
}
// 1 ŅĐĩĐēŅĐŊĐ´ĐžŅĐēŅ
time.Sleep(time.Second * 1)
}
}
āĻ¸āĻŽā§āĻāĻžāĻŦā§āĻ¯ āĻ¤ā§āĻ°ā§āĻāĻŋ āĻ¸āĻš āĻāĻāĻāĻŋ āĻā§āĻ¯āĻžāĻ¨ā§āĻ˛ā§ āĻ¨āĻŋāĻ°ā§āĻāĻ°āĻ¯ā§āĻā§āĻ¯ āĻĄā§āĻāĻž āĻā§āĻ°āĻžāĻ¨ā§āĻ¸āĻŽāĻŋāĻļāĻ¨
āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§ āĻĒāĻĻāĻā§āĻˇā§āĻĒāĻāĻŋ āĻ āĻ¨ā§āĻŽāĻžāĻ¨ āĻāĻ°āĻž āĻšāĻ¯āĻŧ āĻ¯ā§ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒā§āĻ°ā§āĻ°āĻŖ āĻāĻ°āĻž āĻĒā§āĻ¯āĻžāĻā§āĻāĻā§āĻ˛āĻŋ āĻ¯ā§ āĻā§āĻ°āĻŽāĻžāĻ¨ā§āĻ¸āĻžāĻ°ā§ āĻĒā§āĻ°ā§āĻ°āĻŖ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛ āĻ¸ā§ āĻ āĻ¨ā§āĻ¸āĻžāĻ°ā§ āĻā§āĻšā§āĻ¤ āĻšāĻ¯āĻŧā§āĻā§, āĻ¤āĻŦā§ āĻā§āĻ¯āĻžāĻ¨ā§āĻ˛āĻāĻŋ āĻāĻāĻ¨āĻ āĻāĻāĻ¨āĻ āĻŦāĻŋāĻā§āĻ¤āĻŋ āĻ¸āĻš āĻĄā§āĻāĻž āĻĒā§āĻ°ā§āĻ°āĻŖ āĻāĻ°āĻžāĻ° āĻāĻžāĻ°āĻŖā§ āĻ¸ā§āĻā§āĻ˛āĻŋāĻ° āĻŦāĻŋāĻāĻā§āĻ˛āĻŋ āĻĻā§āĻˇāĻŋāĻ¤ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤
āĻāĻ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§, āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧ:
- āĻ¤ā§āĻ°ā§āĻāĻŋ āĻ¸āĻ¨āĻžāĻā§āĻ¤āĻāĻ°āĻŖ;
- āĻĒā§āĻ°āĻ¤āĻŋāĻā§āĻ°āĻŋāĻ¯āĻŧāĻž
- āĻĒā§āĻ¨āĻāĻĒā§āĻ°āĻāĻžāĻ°
āĻ¨āĻŋāĻ°ā§āĻāĻ°āĻ¯ā§āĻā§āĻ¯ āĻĄā§āĻāĻž āĻā§āĻ°āĻžāĻ¨ā§āĻ¸āĻĢāĻžāĻ° āĻĒā§āĻ°ā§āĻā§āĻāĻ˛ āĻ¯ā§āĻā§āĻ˛āĻŋāĻ¤ā§ āĻāĻāĻžāĻ§āĻŋāĻāĻŦāĻžāĻ° āĻā§āĻ°āĻžāĻ¨ā§āĻ¸āĻŽāĻŋāĻļāĻ¨ āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤āĻŋ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻ°āĻ¯āĻŧā§āĻā§ āĻ¤āĻžāĻā§ āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧ āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤āĻŋ āĻ°āĻŋāĻā§āĻ¯āĻŧā§āĻ¸ā§āĻ (ARQ) āĻĒā§āĻ°ā§āĻā§āĻāĻ˛ āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧāĨ¤
āĻ
āĻ¤āĻŋāĻ°āĻŋāĻā§āĻ¤āĻāĻžāĻŦā§, āĻ°āĻ¸āĻŋāĻĻāĻā§āĻ˛āĻŋāĻ¤ā§ āĻ¤ā§āĻ°ā§āĻāĻŋāĻ° āĻ¸āĻŽā§āĻāĻžāĻŦāĻ¨āĻž āĻŦāĻŋāĻŦā§āĻāĻ¨āĻž āĻāĻ°āĻž āĻŽā§āĻ˛ā§āĻ¯āĻŦāĻžāĻ¨, āĻ¯āĻāĻ¨ āĻĒā§āĻ°āĻžāĻĒāĻ āĻĒāĻā§āĻˇ āĻļā§āĻˇ āĻĒā§āĻ¯āĻžāĻā§āĻā§āĻ° āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ°ā§āĻ° āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻā§āĻ¨āĻ āĻ¤āĻĨā§āĻ¯ āĻĒāĻžāĻŦā§ āĻ¨āĻžāĨ¤
āĻāĻ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻ° āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨, āĻāĻŋāĻ¸āĻŋāĻĒāĻŋ-āĻ¤ā§āĻ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧ, āĻĒā§āĻ¯āĻžāĻā§āĻā§āĻ° āĻ¸āĻŋāĻā§āĻ¯āĻŧā§āĻ¨ā§āĻ¸ āĻ¨āĻŽā§āĻŦāĻ° āĻ¸āĻš āĻĄā§āĻāĻž āĻĒā§āĻ¯āĻžāĻā§āĻā§ āĻāĻāĻāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻā§āĻˇā§āĻ¤ā§āĻ° āĻ¯ā§āĻ āĻāĻ°āĻžāĨ¤
āĻĒā§āĻ¯āĻžāĻā§āĻ āĻŦāĻŋāĻā§āĻ¤āĻŋ āĻāĻŦāĻ āĻā§āĻˇāĻ¤āĻŋ āĻ¸āĻžāĻĒā§āĻā§āĻˇā§ āĻāĻāĻāĻŋ āĻ āĻŦāĻŋāĻļā§āĻŦāĻ¸ā§āĻ¤ āĻā§āĻ¯āĻžāĻ¨ā§āĻ˛ā§āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻ¨āĻŋāĻ°ā§āĻāĻ°āĻ¯ā§āĻā§āĻ¯ āĻĄā§āĻāĻž āĻā§āĻ°āĻžāĻ¨ā§āĻ¸āĻŽāĻŋāĻļāĻ¨
āĻŦāĻŋāĻā§āĻ¤āĻŋāĻ° āĻĒāĻžāĻļāĻžāĻĒāĻžāĻļāĻŋ, āĻĻā§āĻ°ā§āĻāĻžāĻā§āĻ¯āĻŦāĻļāĻ¤, āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻā§ āĻĒā§āĻ¯āĻžāĻā§āĻā§āĻ° āĻā§āĻˇāĻ¤āĻŋ āĻ°āĻ¯āĻŧā§āĻā§āĨ¤
āĻāĻŦāĻ āĻāĻ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯, āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨:
- āĻĒā§āĻ¯āĻžāĻā§āĻ āĻšāĻžāĻ°āĻžāĻ¨ā§āĻ° āĻāĻāĻ¨āĻž āĻ¨āĻŋāĻ°ā§āĻŖāĻ¯āĻŧ āĻāĻ°āĻž;
- āĻā§āĻ°āĻšā§āĻ¤āĻž āĻĒāĻā§āĻˇā§āĻ° āĻāĻžāĻā§ āĻšāĻžāĻ°āĻŋāĻ¯āĻŧā§ āĻ¯āĻžāĻāĻ¯āĻŧāĻž āĻĒā§āĻ¯āĻžāĻā§āĻā§āĻ° āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻŦāĻŋāĻ¤āĻ°āĻŖāĨ¤
āĻ
āĻ¤āĻŋāĻ°āĻŋāĻā§āĻ¤āĻāĻžāĻŦā§, āĻĒā§āĻ¯āĻžāĻā§āĻ āĻšāĻžāĻ°āĻžāĻ¨ā§āĻ° āĻĒāĻžāĻļāĻžāĻĒāĻžāĻļāĻŋ, āĻ°āĻ¸āĻŋāĻĻ āĻšāĻžāĻ°āĻžāĻ¨ā§āĻ° āĻ¸āĻŽā§āĻāĻžāĻŦāĻ¨āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻŦāĻž, āĻ¯āĻĻāĻŋ āĻāĻŋāĻā§āĻ āĻšāĻžāĻ°āĻŋāĻ¯āĻŧā§ āĻ¨āĻž āĻ¯āĻžāĻ¯āĻŧ, āĻāĻāĻāĻŋ āĻāĻ˛ā§āĻ˛ā§āĻāĻ¯ā§āĻā§āĻ¯ āĻŦāĻŋāĻ˛āĻŽā§āĻŦā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻ° āĻŦāĻŋāĻ¤āĻ°āĻŖā§āĻ° āĻāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°āĻž āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨āĨ¤ āĻ¸āĻŦ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§, āĻāĻāĻ āĻāĻŋāĻ¨āĻŋāĻ¸ āĻāĻ°āĻž āĻšāĻ¯āĻŧ: āĻĒā§āĻ¯āĻžāĻā§āĻ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻĒā§āĻ°ā§āĻ°āĻŖ āĻāĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻ¸āĻŽāĻ¯āĻŧ āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻāĻ°āĻ¤ā§, āĻāĻ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻŋ āĻāĻāĻāĻŋ āĻāĻžāĻāĻ¨ā§āĻāĻĄāĻžāĻāĻ¨ āĻāĻžāĻāĻŽāĻžāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§, āĻ¯āĻž āĻāĻĒāĻ¨āĻžāĻā§ āĻ
āĻĒā§āĻā§āĻˇāĻžāĻ° āĻŦā§āĻ¯āĻŦāĻ§āĻžāĻ¨ā§āĻ° āĻļā§āĻˇ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻāĻ°āĻ¤ā§ āĻĻā§āĻ¯āĻŧāĨ¤ āĻ¤āĻžāĻ āĻĒā§āĻ¯āĻžāĻā§āĻā§
// defaultTCPKeepAlive is a default constant value for TCPKeepAlive times
// See golang.org/issue/31510
const (
defaultTCPKeepAlive = 15 * time.Second
)
āĻĒā§āĻ°ā§āĻ°āĻŖāĻāĻžāĻ°ā§ āĻĒāĻā§āĻˇāĻā§ āĻĒā§āĻ°āĻ¤āĻŋāĻŦāĻžāĻ° āĻāĻāĻāĻŋ āĻĒā§āĻ¯āĻžāĻā§āĻ āĻĒā§āĻ°ā§āĻ°āĻŖ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻāĻāĻāĻŋ āĻāĻžāĻāĻŽāĻžāĻ° āĻāĻžāĻ˛ā§ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ (āĻĒā§āĻ°āĻĨāĻŽ āĻāĻŦāĻ āĻĻā§āĻŦāĻŋāĻ¤ā§āĻ¯āĻŧāĻŦāĻžāĻ° āĻāĻāĻ¯āĻŧāĻ), āĻāĻžāĻāĻŽāĻžāĻ° āĻĨā§āĻā§ āĻŦāĻžāĻ§āĻžāĻā§āĻ˛āĻŋ āĻĒāĻ°āĻŋāĻāĻžāĻ˛āĻ¨āĻž āĻāĻ°ā§āĻ¨ āĻāĻŦāĻ āĻāĻāĻŋ āĻŦāĻ¨ā§āĻ§ āĻāĻ°ā§āĻ¨āĨ¤
āĻ¸ā§āĻ¤āĻ°āĻžāĻ, āĻāĻŽāĻ°āĻž āĻ¨āĻŋāĻ°ā§āĻāĻ°āĻ¯ā§āĻā§āĻ¯ āĻĄā§āĻāĻž āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ° āĻĒā§āĻ°ā§āĻā§āĻāĻ˛ā§āĻ° āĻŽā§āĻ˛ āĻ§āĻžāĻ°āĻŖāĻžāĻā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§ āĻĒāĻ°āĻŋāĻāĻŋāĻ¤ āĻšāĻ¯āĻŧā§āĻāĻŋ:
- āĻā§āĻāĻ¸āĻžāĻŽ
- āĻĒā§āĻ¯āĻžāĻā§āĻā§āĻ° āĻā§āĻ°āĻŽ āĻ¸āĻāĻā§āĻ¯āĻž;
- āĻāĻžāĻāĻŽāĻžāĻ°;
- āĻāĻ¤āĻŋāĻŦāĻžāĻāĻ āĻāĻŦāĻ āĻ¨ā§āĻ¤āĻŋāĻŦāĻžāĻāĻ āĻĒā§āĻ°āĻžāĻĒā§āĻ¤āĻŋāĨ¤
āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻāĻžāĻ¨ā§āĻ āĻļā§āĻˇ āĻ¨āĻ¯āĻŧ!
āĻĒāĻžāĻāĻĒāĻ˛āĻžāĻāĻ¨āĻŋāĻ āĻ¸āĻš āĻ¨āĻŋāĻ°ā§āĻāĻ°āĻ¯ā§āĻā§āĻ¯ āĻĄā§āĻāĻž āĻā§āĻ°āĻžāĻ¨ā§āĻ¸āĻĢāĻžāĻ° āĻĒā§āĻ°ā§āĻā§āĻāĻ˛
āĻāĻŽāĻ°āĻž āĻāĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§ āĻ¯ā§ āĻŦā§āĻāĻ˛ā§āĻĒāĻŋāĻ āĻŦāĻŋāĻŦā§āĻāĻ¨āĻž āĻāĻ°ā§āĻāĻŋ, āĻ¨āĻŋāĻ°ā§āĻāĻ°āĻ¯ā§āĻā§āĻ¯ āĻĄā§āĻ˛āĻŋāĻāĻžāĻ°āĻŋ āĻĒā§āĻ°ā§āĻā§āĻāĻ˛ āĻā§āĻŦāĻ āĻ āĻĻāĻā§āĻˇāĨ¤ āĻāĻāĻŋ āĻāĻ°āĻāĻŋāĻāĻŋ āĻŦā§āĻĻā§āĻ§āĻŋāĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻžāĻĨā§ āĻ¯ā§āĻāĻžāĻ¯ā§āĻ āĻā§āĻ¯āĻžāĻ¨ā§āĻ˛ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¸āĻ°āĻŦāĻ°āĻžāĻšāĻŋāĻ¤ āĻā§āĻ°āĻžāĻ¨ā§āĻ¸āĻŽāĻŋāĻļāĻ¨āĻā§ "āĻ§ā§āĻ°" āĻāĻ°āĻ¤ā§ āĻļā§āĻ°ā§ āĻāĻ°ā§āĨ¤ āĻāĻ° āĻĻāĻā§āĻˇāĻ¤āĻž āĻŦāĻžāĻĄāĻŧāĻžāĻ¤ā§ āĻāĻŦāĻ āĻ¯ā§āĻāĻžāĻ¯ā§āĻ āĻā§āĻ¯āĻžāĻ¨ā§āĻ˛ā§āĻ° āĻā§āĻˇāĻŽāĻ¤āĻž āĻāĻ°āĻ āĻāĻžāĻ˛āĻāĻžāĻŦā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§, āĻĒāĻžāĻāĻĒāĻ˛āĻžāĻāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧāĨ¤
āĻĒāĻžāĻāĻĒāĻ˛āĻžāĻāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§āĻ° āĻĢāĻ˛ā§:
- āĻā§āĻ°āĻŽ āĻ¸āĻāĻā§āĻ¯āĻžāĻ° āĻĒāĻ°āĻŋāĻ¸āĻ° āĻŦā§āĻĻā§āĻ§āĻŋ, āĻ¯ā§āĻšā§āĻ¤ā§ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒāĻžāĻ āĻžāĻ¨ā§ āĻĒā§āĻ¯āĻžāĻā§āĻ (āĻĒā§āĻ¨āĻāĻĒā§āĻ°āĻāĻžāĻ° āĻŦā§āĻ¯āĻ¤ā§āĻ¤) āĻ¸ā§āĻŦāĻ¤āĻ¨ā§āĻ¤ā§āĻ°āĻāĻžāĻŦā§ āĻāĻŋāĻšā§āĻ¨āĻŋāĻ¤ āĻāĻ°āĻž āĻāĻŦāĻļā§āĻ¯āĻ;
- āĻā§āĻ°āĻžāĻ¨ā§āĻ¸āĻŽāĻŋāĻāĻŋāĻ āĻāĻŦāĻ āĻ°āĻŋāĻ¸āĻŋāĻāĻŋāĻ āĻ¸āĻžāĻāĻĄā§ āĻŦāĻžāĻĢāĻžāĻ° āĻŦāĻžāĻĄāĻŧāĻžāĻ¨ā§āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨āĨ¤
āĻā§āĻ°āĻŽ āĻ¸āĻāĻā§āĻ¯āĻž āĻĒāĻ°āĻŋāĻ¸ā§āĻŽāĻž āĻāĻŦāĻ āĻŦāĻžāĻĢāĻžāĻ° āĻāĻāĻžāĻ°ā§āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧāĻ¤āĻžāĻā§āĻ˛āĻŋ āĻĒā§āĻ¯āĻžāĻā§āĻ āĻĻā§āĻ°ā§āĻ¨ā§āĻ¤āĻŋ, āĻā§āĻˇāĻ¤āĻŋ āĻāĻŦāĻ āĻŦāĻŋāĻ˛āĻŽā§āĻŦā§āĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻĒā§āĻ°ā§āĻā§āĻāĻ˛ āĻ¯ā§ āĻĒāĻĻāĻā§āĻˇā§āĻĒāĻā§āĻ˛āĻŋ āĻ¨ā§āĻ¯āĻŧ āĻ¤āĻžāĻ° āĻāĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻāĻ° āĻāĻ°ā§āĨ¤ āĻĒāĻžāĻāĻĒāĻ˛āĻžāĻāĻ¨āĻŋāĻāĻ¯āĻŧā§āĻ° āĻā§āĻˇā§āĻ¤ā§āĻ°ā§, āĻ¤ā§āĻ°ā§āĻāĻŋāĻā§āĻ˛āĻŋ āĻ¸āĻāĻļā§āĻ§āĻ¨ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻĻā§āĻāĻŋ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻ°āĻ¯āĻŧā§āĻā§:
- N āĻĒā§āĻ¯āĻžāĻā§āĻ āĻĢā§āĻ°āĻ¤ āĻĻāĻŋāĻ¨;
- āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻ¨ā§ āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤āĻŋāĨ¤
āĻĢāĻŋāĻ°ā§ āĻ¯āĻžāĻāĻ¯āĻŧāĻž N āĻĒā§āĻ¯āĻžāĻā§āĻ - āĻ¸ā§āĻ˛āĻžāĻāĻĄāĻŋāĻ āĻāĻāĻ¨ā§āĻĄā§ āĻĒā§āĻ°ā§āĻā§āĻāĻ˛
āĻĒā§āĻ°ā§āĻ°āĻāĻā§ āĻ āĻŦāĻļā§āĻ¯āĻ āĻ¤āĻŋāĻ¨ āĻ§āĻ°āĻ¨ā§āĻ° āĻāĻā§āĻ¨ā§āĻ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§:
- āĻāĻā§āĻ āĻ¸ā§āĻ¤āĻ°ā§āĻ° āĻĒā§āĻ°ā§āĻā§āĻāĻ˛ āĻĻā§āĻŦāĻžāĻ°āĻž āĻāĻ˛ āĻāĻ°ā§āĻ¨āĨ¤ āĻ¯āĻāĻ¨ āĻĄā§āĻāĻž āĻĒāĻžāĻ āĻžāĻ¨ā§āĻ° āĻĢāĻžāĻāĻļāĻ¨āĻāĻŋāĻā§ "āĻāĻĒāĻ° āĻĨā§āĻā§" āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧ, āĻĒāĻžāĻ āĻžāĻ¨ā§āĻ° āĻĻāĻŋāĻāĻāĻŋ āĻĒā§āĻ°āĻĨāĻŽā§ āĻāĻāĻ¨ā§āĻĄā§āĻāĻŋ āĻĒā§āĻ°āĻŖ āĻāĻ°āĻžāĻ° āĻĄāĻŋāĻā§āĻ°āĻŋ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°ā§ (āĻ āĻ°ā§āĻĨāĻžā§, āĻĒā§āĻ°āĻžāĻĒā§āĻ¤āĻŋāĻ° āĻĒā§āĻ°āĻžāĻĒā§āĻ¤āĻŋāĻ° āĻ āĻĒā§āĻā§āĻˇāĻžāĻ¯āĻŧ N āĻĒā§āĻ°ā§āĻ°āĻŋāĻ¤ āĻŦāĻžāĻ°ā§āĻ¤āĻžāĻā§āĻ˛āĻŋāĻ° āĻāĻĒāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋ)āĨ¤ āĻāĻāĻ¨ā§āĻĄā§āĻāĻŋ āĻāĻžāĻ˛āĻŋ āĻĨāĻžāĻāĻ˛ā§, āĻāĻāĻāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻĒā§āĻ¯āĻžāĻā§āĻ āĻ¤ā§āĻ°āĻŋ āĻāĻŦāĻ āĻĒā§āĻ°ā§āĻ°āĻŖ āĻāĻ°āĻž āĻšāĻ¯āĻŧ āĻāĻŦāĻ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻļā§āĻ˛ āĻŽāĻžāĻ¨āĻā§āĻ˛āĻŋ āĻāĻĒāĻĄā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻ āĻ¨ā§āĻ¯āĻĨāĻžāĻ¯āĻŧ, āĻĒāĻžāĻ āĻžāĻ¨ā§āĻ° āĻĻāĻŋāĻāĻāĻŋ āĻāĻĒāĻ°ā§āĻ° āĻ¸ā§āĻ¤āĻ°ā§ āĻĄā§āĻāĻž āĻĢā§āĻ°āĻ¤ āĻĻā§āĻ¯āĻŧ āĻāĻŦāĻ āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻ¨āĻŋāĻšāĻŋāĻ¤ āĻāĻā§āĻāĻŋāĻ¤ āĻ¯ā§ āĻāĻāĻ¨ā§āĻĄā§āĻāĻŋ āĻĒā§āĻ°ā§āĻŖāĨ¤ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻāĻĒāĻ°ā§āĻ° āĻ¸ā§āĻ¤āĻ° āĻāĻŋāĻā§ āĻ¸āĻŽāĻ¯āĻŧ āĻĒāĻ°ā§ āĻāĻŦāĻžāĻ° āĻĄā§āĻāĻž āĻĒā§āĻ°ā§āĻ°āĻŖ āĻāĻ°āĻžāĻ° āĻā§āĻˇā§āĻāĻž āĻāĻ°āĻŦā§āĨ¤ āĻāĻāĻāĻŋ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ā§, āĻĒā§āĻ°ā§āĻ°āĻ āĻšāĻ¯āĻŧāĻ¤ āĻĄāĻžāĻāĻž āĻŦāĻžāĻĢāĻžāĻ° āĻāĻ°āĻŦā§ (āĻāĻāĻŋ āĻ āĻŦāĻŋāĻ˛āĻŽā§āĻŦā§ āĻĒāĻžāĻ āĻžāĻ¨ā§āĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§) āĻ āĻĨāĻŦāĻž āĻāĻāĻāĻŋ āĻ¸āĻŋāĻā§āĻā§āĻ°ā§āĻ¨āĻžāĻāĻā§āĻļāĻ¨ āĻŽā§āĻāĻžāĻ¨āĻŋāĻāĻŽ (āĻ¯ā§āĻŽāĻ¨ āĻāĻāĻāĻŋ āĻ¸ā§āĻŽāĻžāĻĢā§āĻ° āĻŦāĻž āĻĒāĻ¤āĻžāĻāĻž) āĻĨāĻžāĻāĻŦā§ āĻ¯āĻž āĻāĻĒāĻ°ā§āĻ° āĻ¸ā§āĻ¤āĻ°āĻāĻŋāĻā§ āĻ¸ā§āĻ¨ā§āĻĄ āĻĢāĻžāĻāĻļāĻ¨āĻāĻŋ āĻāĻ˛ āĻāĻ°āĻžāĻ° āĻ āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§āĻŦā§ āĻ¯āĻāĻ¨ āĻāĻāĻ¨ā§āĻĄā§āĻāĻŋ āĻāĻžāĻ˛āĻŋ āĻĨāĻžāĻāĻŦā§āĨ¤ .
- āĻ¨āĻŋāĻļā§āĻāĻŋāĻ¤āĻāĻ°āĻŖ āĻĒā§āĻ°āĻžāĻĒā§āĻ¤āĻŋāĨ¤ āĻĒā§āĻ°ā§āĻā§āĻāĻ˛ā§, āĻā§āĻ°āĻŽ āĻ¨āĻŽā§āĻŦāĻ° N āĻ¸āĻš āĻāĻāĻāĻŋ āĻĒā§āĻ¯āĻžāĻā§āĻā§āĻ° āĻāĻ¨ā§āĻ¯, āĻāĻāĻāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻ¸ā§āĻŦā§āĻā§āĻ¤āĻŋ āĻāĻžāĻ°āĻŋ āĻāĻ°āĻž āĻšāĻ¯āĻŧ āĻ¯āĻž āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļ āĻāĻ°ā§ āĻ¯ā§ N āĻāĻ° āĻĒā§āĻ°ā§āĻŦāĻŦāĻ°ā§āĻ¤ā§ āĻā§āĻ°āĻŽ āĻ¨āĻŽā§āĻŦāĻ° āĻ¸āĻš āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒā§āĻ¯āĻžāĻā§āĻ āĻ¸āĻĢāĻ˛āĻāĻžāĻŦā§ āĻĒā§āĻ°āĻžāĻĒā§āĻ¤ āĻšāĻ¯āĻŧā§āĻā§āĨ¤
- āĻ āĻĒā§āĻā§āĻˇāĻžāĻ° āĻŦā§āĻ¯āĻŦāĻ§āĻžāĻ¨ āĻļā§āĻˇ āĻšāĻ¯āĻŧā§ āĻā§āĻā§āĨ¤ āĻĒā§āĻ¯āĻžāĻā§āĻ āĻāĻŦāĻ āĻ°āĻ¸āĻŋāĻĻā§āĻ° āĻā§āĻˇāĻ¤āĻŋ āĻāĻŦāĻ āĻŦāĻŋāĻ˛āĻŽā§āĻŦā§āĻ° āĻ¤āĻĨā§āĻ¯ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻāĻ°āĻ¤ā§, āĻĒā§āĻ°ā§āĻā§āĻāĻ˛ āĻāĻāĻāĻŋ āĻāĻžāĻāĻŽāĻžāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĨ¤ āĻ¯āĻĻāĻŋ āĻāĻžāĻāĻŽāĻāĻāĻ āĻŦā§āĻ¯āĻŦāĻ§āĻžāĻ¨ā§āĻ° āĻŽā§āĻ¯āĻŧāĻžāĻĻ āĻļā§āĻˇ āĻšāĻ¯āĻŧā§ āĻ¯āĻžāĻ¯āĻŧ, āĻ¸ā§āĻ¨ā§āĻĄāĻŋāĻ āĻ¸āĻžāĻāĻĄ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒā§āĻ°ā§āĻ°āĻŋāĻ¤ āĻ āĻ¸ā§āĻŦā§āĻā§āĻ¤ āĻĒā§āĻ¯āĻžāĻā§āĻ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻĒāĻžāĻ āĻžāĻ¯āĻŧāĨ¤
āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻ¨ā§ āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤āĻŋ
āĻ¯āĻāĻ¨ āĻāĻāĻ¨ā§āĻĄā§āĻ° āĻāĻāĻžāĻ° āĻāĻŦāĻ āĻĨā§āĻ°ā§āĻĒā§āĻ-āĻĒā§āĻ°āĻāĻžāĻ° āĻŦāĻŋāĻ˛āĻŽā§āĻŦ āĻĒāĻŖā§āĻ¯ āĻŦāĻĄāĻŧ āĻšāĻ¯āĻŧ, āĻ¤āĻāĻ¨ āĻĒā§āĻ°āĻā§āĻ° āĻ¸āĻāĻā§āĻ¯āĻ āĻĒā§āĻ¯āĻžāĻā§āĻ āĻĒāĻžāĻāĻĒāĻ˛āĻžāĻāĻ¨ā§ āĻĨāĻžāĻāĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ āĻāĻ āĻ§āĻ°āĻ¨ā§āĻ° āĻā§āĻˇā§āĻ¤ā§āĻ°ā§, āĻāĻāĻāĻŋ āĻāĻāĻ āĻĒā§āĻ¯āĻžāĻā§āĻ āĻ¤ā§āĻ°ā§āĻāĻŋāĻ° āĻāĻžāĻ°āĻŖā§ āĻĒā§āĻ°āĻā§āĻ° āĻ¸āĻāĻā§āĻ¯āĻ āĻĒā§āĻ¯āĻžāĻā§āĻ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻĒā§āĻ°ā§āĻ°āĻŖ āĻāĻ°āĻž āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§, āĻ¯āĻžāĻ° āĻŦā§āĻļāĻŋāĻ°āĻāĻžāĻā§āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻāĻŋāĻ˛ āĻ¨āĻžāĨ¤
āĻāĻĻāĻžāĻšāĻ°āĻŖ
āĻ¸ā§āĻ°āĻž
āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°
package main
import (
"bufio"
"fmt"
"log"
"net"
"strings"
)
func main() {
// ŅОСдаĐĩĐŧ ŅĐžĐēĐĩŅ Ņ ĐŋĐžŅŅĐžĐŧ
ln, err := net.Listen("tcp", ":8081")
if err != nil {
log.Fatalln(err)
}
// ĐžĐļидаĐŊиĐĩ вŅСОва
conn, _ := ln.Accept()
for {
// ŅŅиŅŅваĐŊиĐĩ Đ´Đ°ĐŊĐŊŅŅ
msg, err := bufio.NewReader(conn).ReadString('n')
if err != nil {
log.Fatalln(err)
}
// вŅвОд ŅООйŅĐĩĐŊиŅ в stdout
fmt.Print("Message Received:", string(msg))
// ĐŋĐĩŅĐĩвОд ŅŅŅĐžĐēи в вĐĩŅŅ
ĐŊиК ŅĐĩĐŗиŅŅŅ
newMsg := strings.ToUpper(msg)
// ĐžŅĐŋŅавĐēĐ° Đ´Đ°ĐŊĐŊŅŅ
conn.Write([]byte(newMsg + "n"))
}
}
āĻā§āĻ°ā§āĻ¤āĻž
package main
import (
"bufio"
"fmt"
"log"
"net"
"os"
)
func main() {
// ŅŅŅĐ°ĐŊОвĐēĐ° ŅĐžĐĩдиĐŊĐĩĐŊиŅ
conn, err := net.Dial("tcp", "127.0.0.1:8081")
if err != nil {
log.Fatalln(err)
}
for {
// ŅŅиŅŅваĐŊиĐĩ Đ´Đ°ĐŊĐŊŅŅ
Ņ stdin
reader := bufio.NewReader(os.Stdin)
fmt.Print("Text to send: ")
// ĐŋĐžŅŅŅĐžŅĐŊĐž
text, err := reader.ReadString('n')
if err != nil {
log.Fatalln(err)
}
// ĐžŅĐŋŅавĐēĐ°
fmt.Fprintf(conn, text+"n")
// ĐŋŅиĐĩĐŧ
msg, err := bufio.NewReader(conn).ReadString('n')
if err != nil {
log.Fatalln(err)
}
// вŅвОд ĐŋĐžĐģŅŅĐĩĐŊĐŊĐžĐŗĐž ĐžŅвĐĩŅĐ°
fmt.Print("Msg from Server: " + msg)
}
}
āĻāĻĒāĻ¸āĻāĻšāĻžāĻ°
āĻ¨āĻŋāĻ°ā§āĻāĻ°āĻ¯ā§āĻā§āĻ¯ āĻĄā§āĻāĻž āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ° āĻāĻŦāĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ¨āĻŋāĻļā§āĻāĻŋāĻ¤ āĻāĻ°āĻžāĻ° āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž
āĻāĻ˛āĻāĻŦā§āĻāĻž
āĻāĻŦā§āĻĻāĻ¨, āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯
āĻ¸āĻŽāĻˇā§āĻāĻŋ āĻā§āĻ
āĻĒā§āĻ°ā§āĻ°āĻŋāĻ¤ āĻĒā§āĻ¯āĻžāĻā§āĻā§ āĻŦāĻŋāĻ āĻ¤ā§āĻ°ā§āĻāĻŋ āĻ¸āĻ¨āĻžāĻā§āĻ¤ āĻāĻ°āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧ
āĻ¸āĻŽāĻ¯āĻŧ āĻ¨āĻŋāĻ°ā§āĻŖāĻžāĻ¯āĻŧāĻ
āĻ¸āĻŽāĻ¯āĻŧāĻ¸ā§āĻŽāĻžāĻ° āĻŦā§āĻ¯āĻŦāĻ§āĻžāĻ¨ āĻāĻŖāĻ¨āĻž āĻāĻ°ā§ āĻāĻŦāĻ āĻāĻāĻ¨ āĻāĻāĻŋ āĻŽā§āĻ¯āĻŧāĻžāĻĻ āĻļā§āĻˇ āĻšāĻ¯āĻŧā§ āĻā§āĻā§ āĻ¤āĻž āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļ āĻāĻ°ā§āĨ¤ āĻĒāĻ°ā§āĻ°āĻāĻŋāĻ° āĻ
āĻ°ā§āĻĨ āĻšāĻ˛ āĻāĻāĻāĻŋ āĻāĻā§āĻ āĻĄāĻŋāĻā§āĻ°ā§ āĻ¸āĻŽā§āĻāĻžāĻŦā§āĻ¯āĻ¤āĻžāĻ° āĻ¸āĻžāĻĨā§ āĻĒā§āĻ¯āĻžāĻā§āĻ āĻŦāĻž āĻāĻ° āĻ°āĻ¸āĻŋāĻĻ āĻ¸āĻāĻā§āĻ°āĻŽāĻŖā§āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻšāĻžāĻ°āĻŋāĻ¯āĻŧā§ āĻā§āĻā§āĨ¤ āĻ¯āĻĻāĻŋ āĻāĻāĻāĻŋ āĻĒā§āĻ¯āĻžāĻā§āĻ āĻŦāĻŋāĻ˛āĻŽā§āĻŦā§āĻ° āĻ¸āĻžāĻĨā§ āĻŦāĻŋāĻ¤āĻ°āĻŖ āĻāĻ°āĻž āĻšāĻ¯āĻŧ, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻšāĻžāĻ°āĻŋāĻ¯āĻŧā§ āĻ¨āĻž āĻ¯āĻžāĻ¯āĻŧ (āĻāĻžāĻāĻŽāĻāĻāĻ āĻŦā§āĻ¯āĻŦāĻ§āĻžāĻ¨ā§āĻ° āĻ
āĻāĻžāĻ˛ āĻŽā§āĻ¯āĻŧāĻžāĻĻ āĻļā§āĻˇ āĻšāĻ¯āĻŧā§ āĻ¯āĻžāĻ¯āĻŧ), āĻŦāĻž āĻāĻāĻāĻŋ āĻ°āĻ¸āĻŋāĻĻ āĻšāĻžāĻ°āĻŋāĻ¯āĻŧā§ āĻ¯āĻžāĻ¯āĻŧ, āĻĒā§āĻ¨āĻāĻĒā§āĻ°āĻāĻžāĻ°ā§āĻ° āĻĢāĻ˛ā§ āĻĒā§āĻ°āĻžāĻĒā§āĻ¤āĻŋāĻ° āĻĻāĻŋāĻā§ āĻāĻāĻāĻŋ āĻĄā§āĻĒā§āĻ˛āĻŋāĻā§āĻ āĻĒā§āĻ¯āĻžāĻā§āĻ āĻšāĻ¯āĻŧ
āĻā§āĻ°āĻŽāĻŋāĻ āĻ¸āĻāĻā§āĻ¯āĻž
āĻĒā§āĻ°ā§āĻ°āĻ āĻĨā§āĻā§ āĻĒā§āĻ°āĻžāĻĒāĻā§āĻ° āĻāĻžāĻā§ āĻĒā§āĻ°ā§āĻ°āĻŋāĻ¤ āĻĄā§āĻāĻž āĻĒā§āĻ¯āĻžāĻā§āĻā§āĻ° āĻā§āĻ°āĻŽāĻŋāĻ āĻ¸āĻāĻā§āĻ¯āĻžāĻ¯āĻŧāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧāĨ¤ āĻĒā§āĻ°āĻžāĻĒā§āĻ¤ āĻĒā§āĻ¯āĻžāĻā§āĻā§āĻ° āĻā§āĻ°āĻŽ āĻ¸āĻāĻā§āĻ¯āĻžāĻ° āĻĢāĻžāĻāĻ āĻĒā§āĻ°āĻžāĻĒāĻāĻā§ āĻĒā§āĻ¯āĻžāĻā§āĻā§āĻ° āĻā§āĻˇāĻ¤āĻŋ āĻ¸āĻ¨āĻžāĻā§āĻ¤ āĻāĻ°āĻ¤ā§ āĻĻā§āĻ¯āĻŧāĨ¤ āĻāĻāĻ āĻĒā§āĻ¯āĻžāĻā§āĻ āĻā§āĻ°āĻŽ āĻ¸āĻāĻā§āĻ¯āĻž āĻŽāĻžāĻ¨ā§ āĻĒā§āĻ¯āĻžāĻā§āĻāĻā§āĻ˛āĻŋ āĻāĻā§ āĻ
āĻĒāĻ°ā§āĻ° āĻ¸āĻĻā§āĻļ
āĻ
āĻ¨ā§āĻŽā§āĻĻāĻ¨
āĻ°āĻŋāĻ¸āĻŋāĻāĻŋāĻ āĻāĻ¨ā§āĻĄ āĻĻā§āĻŦāĻžāĻ°āĻž āĻā§āĻ¨āĻžāĻ°ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧ āĻāĻŦāĻ āĻ¸ā§āĻ¨ā§āĻĄāĻŋāĻ āĻāĻ¨ā§āĻĄā§ āĻāĻā§āĻāĻŋāĻ¤ āĻāĻ°ā§ āĻ¯ā§ āĻ¸āĻāĻļā§āĻ˛āĻŋāĻˇā§āĻ āĻĒā§āĻ¯āĻžāĻā§āĻ āĻŦāĻž āĻĒā§āĻ¯āĻžāĻā§āĻā§āĻ° āĻā§āĻ°ā§āĻĒ āĻ¸āĻĢāĻ˛āĻāĻžāĻŦā§ āĻĒā§āĻ°āĻžāĻĒā§āĻ¤ āĻšāĻ¯āĻŧā§āĻā§āĨ¤ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻ¸ā§āĻŦā§āĻā§āĻ¤āĻŋāĻ¤ā§ āĻ¸āĻĢāĻ˛āĻāĻžāĻŦā§ āĻĒā§āĻ°āĻžāĻĒā§āĻ¤ āĻĒā§āĻ¯āĻžāĻā§āĻā§āĻ° āĻā§āĻ°āĻŽ āĻ¸āĻāĻā§āĻ¯āĻž āĻĨāĻžāĻā§āĨ¤ āĻĒā§āĻ°ā§āĻā§āĻāĻ˛ā§āĻ° āĻāĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻāĻ° āĻāĻ°ā§, āĻĒā§āĻĨāĻ āĻāĻŦāĻ āĻā§āĻˇā§āĻ ā§ āĻ¨āĻŋāĻļā§āĻāĻŋāĻ¤āĻāĻ°āĻŖāĻā§āĻ˛āĻŋ āĻāĻ˛āĻžāĻĻāĻž āĻāĻ°āĻž āĻšāĻ¯āĻŧ
āĻ¨ā§āĻ¤āĻŋāĻŦāĻžāĻāĻ āĻ¨āĻŋāĻļā§āĻāĻŋāĻ¤āĻāĻ°āĻŖ
āĻĒā§āĻ¯āĻžāĻā§āĻāĻāĻŋ āĻā§āĻ˛āĻāĻžāĻŦā§ āĻā§āĻšā§āĻ¤ āĻšāĻ¯āĻŧā§āĻā§ āĻ¤āĻž āĻĒā§āĻ°ā§āĻ°āĻāĻā§ āĻāĻžāĻ¨āĻžāĻ¤ā§ āĻĒā§āĻ°āĻžāĻĒāĻā§āĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤āĨ¤ āĻāĻāĻāĻŋ āĻ¨ā§āĻ¤āĻŋāĻŦāĻžāĻāĻ āĻ¸ā§āĻŦā§āĻā§āĻ¤āĻŋāĻ¤ā§ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻĒā§āĻ¯āĻžāĻā§āĻā§āĻ° āĻā§āĻ°āĻŽ āĻ¨āĻŽā§āĻŦāĻ° āĻ
āĻ¨ā§āĻ¤āĻ°ā§āĻā§āĻā§āĻ¤ āĻĨāĻžāĻā§ āĻ¯āĻž āĻ¸āĻ āĻŋāĻāĻāĻžāĻŦā§ āĻĒā§āĻ°āĻžāĻĒā§āĻ¤ āĻšāĻ¯āĻŧāĻ¨āĻŋ
āĻāĻžāĻ¨āĻžāĻ˛āĻž, āĻĒāĻ°āĻŋāĻŦāĻžāĻšā§āĻāĻ°āĻŖ
āĻĒā§āĻ¯āĻžāĻā§āĻ āĻĒā§āĻ°ā§āĻ°āĻŖ āĻāĻ°āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻāĻŽāĻ¨ āĻā§āĻ°āĻŽ āĻ¸āĻāĻā§āĻ¯āĻžāĻ° āĻĒāĻ°āĻŋāĻ¸āĻ° āĻ¸ā§āĻŽāĻŋāĻ¤ āĻāĻ°ā§āĻ¨āĨ¤ āĻŽāĻžāĻ˛ā§āĻāĻŋāĻāĻžāĻ¸ā§āĻ āĻāĻŦāĻ āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄāĻļā§āĻ āĻ¸ā§āĻŦā§āĻā§āĻ¤āĻŋāĻ° āĻāĻ¨ā§āĻ¯ āĻ
āĻĒā§āĻā§āĻˇāĻž āĻāĻ°āĻžāĻ° āĻ¤ā§āĻ˛āĻ¨āĻžāĻ¯āĻŧ āĻĒā§āĻ°ā§āĻā§āĻāĻ˛ āĻĨā§āĻ°ā§āĻĒā§āĻ āĻāĻ˛ā§āĻ˛ā§āĻāĻ¯ā§āĻā§āĻ¯āĻāĻžāĻŦā§ āĻŦā§āĻĻā§āĻ§āĻŋ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ āĻ¯ā§āĻŽāĻ¨āĻāĻŋ āĻāĻŽāĻ°āĻž āĻĻā§āĻāĻŦ, āĻāĻāĻ¨ā§āĻĄā§āĻ° āĻāĻāĻžāĻ° āĻāĻŖāĻ¨āĻž āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻ°āĻŋāĻ¸āĻŋāĻāĻŋāĻ āĻāĻ¨ā§āĻĄā§āĻ° āĻ°āĻŋāĻ¸ā§āĻĒāĻļāĻ¨ āĻāĻŦāĻ āĻŦāĻžāĻĢāĻžāĻ°āĻŋāĻ āĻā§āĻˇāĻŽāĻ¤āĻž, āĻ¸ā§āĻāĻ¸āĻžāĻĨā§ āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻ āĻ˛ā§āĻĄ āĻ˛ā§āĻā§āĻ˛ā§āĻ° āĻāĻĒāĻ° āĻāĻŋāĻ¤ā§āĻ¤āĻŋ āĻāĻ°ā§āĨ¤
āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻāĻŋāĻāĻ¯āĻŧā§āĻ° āĻāĻ¨ā§āĻ¯ Go āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻžāĻ° āĻāĻ°āĻ āĻāĻĻāĻžāĻšāĻ°āĻŖ
Đ
āĻāĻ¤ā§āĻ¸: www.habr.com