- /* create socket */
- if ( (sock = socket(AF_INET, SOCK_STREAM, 0)) < 0) {
- perror("Socket creation error");
- return 1;
- }
- /* initialize address */
- memset((void *) &serv_add, 0, sizeof(serv_add)); /* clear server address */
- serv_add.sin_family = AF_INET; /* address type is INET */
- serv_add.sin_port = htons(7); /* echo port is 7 */
- /* build address using inet_pton */
- if ( (inet_pton(AF_INET, argv[optind], &serv_add.sin_addr)) <= 0) {
- perror("Address creation error");
- return 1;
- }
- /* extablish connection */
- if (connect(sock, (struct sockaddr *)&serv_add, sizeof(serv_add)) < 0) {
- perror("Connection error");
+ /* call sockaddr to get a connected socket */
+ if ( (sock = sockconn(argv[optind], "echo", 6, SOCK_STREAM)) < 0) {
+ if (errno) perror("Socket creation error");