package door import ( "fmt" "syscall" ) func Write(handle syscall.Handle, output string) { l := len(output) buffer := []byte(output) WSA_Buffer := syscall.WSABuf{Len: uint32(l), Buf: &buffer[0]} UitnZero_1 := uint32(0) DataWrite := uint32(0) err := syscall.WSASend(handle, &WSA_Buffer, 1, &DataWrite, UitnZero_1, nil, nil) if err != nil { fmt.Printf("write: %d bytes, error: %#v\n", DataWrite, err) } } // Write string to client. func (d *Door) Write(output string) { if d.Disconnected { return } handle := syscall.Handle(d.WRITEFD) l := len(output) buffer := []byte(output) WSA_Buffer := syscall.WSABuf{Len: uint32(l), Buf: &buffer[0]} UitnZero_1 := uint32(0) DataWrite := uint32(0) err := syscall.WSASend(handle, &WSA_Buffer, 1, &DataWrite, UitnZero_1, nil, nil) if err != nil { fmt.Printf("write: %d bytes, error: %#v\n", DataWrite, err) d.Disconnected = true } }