Merge pull request 'complete the sample example for tcp/ip using zig.' (#2) from tcp_demo into main
Reviewed-on: http://198.12.122.141:3121/zig/nation/pulls/2
This commit is contained in:
commit
fc41b6d8d2
|
@ -17,7 +17,8 @@ pub fn main() !void {
|
|||
const allocator = gpa.allocator();
|
||||
|
||||
const stream = try net.tcpConnectToHost(allocator, ip, port);
|
||||
_ = try stream.writeAll("hello");
|
||||
const s = "Hello, World!";
|
||||
_ = try stream.writeAll(s);
|
||||
defer {
|
||||
stream.close();
|
||||
}
|
||||
|
|
|
@ -6,6 +6,11 @@ pub fn main() !void {
|
|||
const ip = "127.0.0.1";
|
||||
const port: u16 = 10010;
|
||||
|
||||
var gpa = std.heap.GeneralPurposeAllocator(.{}){};
|
||||
defer {
|
||||
_ = gpa.deinit();
|
||||
}
|
||||
// const allocator = gpa.allocator();
|
||||
// listen to local ip:port
|
||||
const address = try net.Address.parseIp(ip, port);
|
||||
log.info("server listen to {s}:{d}", .{ ip, port });
|
||||
|
@ -16,8 +21,16 @@ pub fn main() !void {
|
|||
while (true) {
|
||||
// accept from client
|
||||
const client = try server.accept();
|
||||
var buffer: [1024]u8 = undefined;
|
||||
const len = try client.stream.readAll(buffer[0..]);
|
||||
log.info("data from client: {s}\n", .{buffer[0..len]});
|
||||
log.info("has a client connected: {any}", .{client});
|
||||
defer client.stream.close();
|
||||
|
||||
var message: [4]u8 = undefined;
|
||||
var total_len: usize = 0;
|
||||
r: while (true) {
|
||||
const bytesRead = try client.stream.readAll(&message);
|
||||
if (bytesRead == 0) break :r;
|
||||
total_len += bytesRead;
|
||||
std.debug.print("Received: {s}\n", .{message[0..bytesRead]});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user