🙄
【Zig】TCP クライアントで HTTP/1 リクエストを送信する
std.net.tcpConnectToAddress
から std.net.Stream
が生成される。Stream.writer
と Stream.reader
からそれぞれ std.io.Writer
と std.io.io.Reader
が返される
client.zig
const std = @import("std");
const net = std.net;
const print = std.debug.print;
pub fn main() !void {
const port = try std.fmt.parseInt(u16, "8000", 10);
const peer = try net.Address.parseIp4("127.0.0.1", port);
const data = "GET / HTTP/1.1\r\n\r\n";
var buffer: [1024]u8 = undefined;
const stream = try net.tcpConnectToAddress(peer);
defer stream.close();
var writer = stream.writer();
var reader = stream.reader();
_ = try writer.write(data);
_ = try reader.read(&buffer);
print("{s}\n", .{buffer});
}
Discussion