#include #include #include #include #include #include #include #include #include int main (int argc, char * argv []) { excenv_t * ee; struct scot_socket * sock; char puffer [1024]; struct scot_stream * sock_stream; atexit (exc_end); TRY { sock = scot_socket_un_new ("/tmp/socket"); scot_socket_connect (sock, NULL); sock_stream = (struct scot_stream *) sock; printf ("Client: "); while (fgets (puffer, 1024, stdin) != NULL) { if (send (sock_stream->handle.sock, puffer, strlen (puffer), 0) != strlen (puffer)) THROW (EXC (EXC_ERROR, errno, "Client: Fehler beim schreiben.")); if (strlen (puffer) == 2 && puffer [0] == 'q') break; printf ("Client: "); } scot_socket_free (sock); } CATCH (ee) { exception_t *e; while (e = retrive_exception (ee)) { switch (exc_errnum_get (e)) { case SCOT_SOCKET_CONNECT_FAIL: scot_socket_free (sock); case SCOT_SOCKET_NEW_FAIL: break; } print_exception (e); free_exception (e); } free_catched (ee); } return 0; }