Показать сообщение отдельно
Старый 12.02.2018, 20:10   #6
Gel
Senior Member
 
Регистрация: Nov 2017
Сообщения: 561
Благодарил(а): 3 раз(а)
Поблагодарили: 38 раз(а) в 30 сообщениях
По умолчанию Ответ: Алтернатива для C/C++ на Trim5/SMH4

Цитата:
Сообщение от Arsie Посмотреть сообщение
"Hello" вывелось на экран?
Hello вывелось, математика работает, сеть работает, многопоточность работает...



Это был результат работы примера:

Код:
package main

import (
	"fmt"
	"math"
	"math/rand"
	"net"
	"time"
)

func main() {
	fmt.Println("hello, world!")

	for i := 0; i < 3; i++ {
		r := rand.Float64()
		fmt.Printf("cycle=%v r=%v sin(r)=%v\n", i, r, math.Sin(r))
	}

	sock, err := net.Listen("tcp", "localhost:7777")

	if err != nil {
		fmt.Println("Error accepting: ", err.Error())
		return
	}

	go server(sock)

	time.Sleep(time.Second)

	c, err := net.Dial("tcp", "localhost:7777")

	c.Write([]byte("hello, localhost!"))

	c.Close()

	time.Sleep(time.Second)

	fmt.Println("exit")
}

func server(s net.Listener) {
	defer s.Close()

	c, err := s.Accept()

	if err != nil {
		return
	}

	b := make([]byte, 4)

	for {
		n, err := c.Read(b)

		if err != nil {
			break
		}

		fmt.Println("server:", string(b[:n]))
	}

	fmt.Println("server complete!")
}
Размер запускаемого файла (сборка с параметрами по-умолчанию): 2462 Кб

Последний раз редактировалось Gel, 12.02.2018 в 20:32
Gel вне форума   Ответить с цитированием