--- /dev/null
+#include <jh.h>
+#include <unistd.h>
+
+int main(int argc, char **argv) {
+ if (argc != 4) xperror("invocation: <host> <port> <spamstr>", 0);
+ int s = netopen(argv[1], argv[2], JH_TCP_HINTS);
+ if (s < 0) {
+ fprintf(stderr, "unable to connect: %s\n", gai_strerror(s));
+ exit(1);
+ }
+ char *buf = argv[3];
+ ssize_t len = strlen(buf);
+ ssize_t total = 0;
+ while (1) {
+ ssize_t wcount = fail_on_neg(write(s, buf, len), "write failed", 1);
+ if (wcount == 0) {
+ fprintf(stderr, "zero write! ending.\n");
+ return 1;
+ }
+ if (wcount != len) {
+ fprintf(stderr, "wrong write size! ending.\n");
+ return 1;
+ }
+ total += wcount;
+ fprintf(stderr, "%zd\n", total);
+ }
+}