CÁC BÀI THỰC HÀNH LINUX - Trang 34

- 33-

rc = bind(sd, (struct sockaddr *) &localAddr, sizeof(localAddr));
if(rc<0) {

printf("%s: cannot bind port TCP %u\n",argv[0],SERVER_PORT);
perror("error ");

exit(1);
}

/* Thực hiện kết nối đến server theo tên/địa chỉ nhập vào từ dòng lệnh */


rc = connect(sd, (struct sockaddr *) &servAddr, sizeof(servAddr));

if(rc<0) {
perror("cannot connect ");

exit(1);
}


/* Sau khi socket đã kết nối, thực hiện gửi các dữ liệu đến chương trình Server */


for(i=2;i<argc;i++) {


rc = send(sd, argv[i], strlen(argv[i]) + 1, 0);


if(rc<0) {

perror("cannot send data ");
close(sd);

exit(1);

}/* if */
printf("%s: data%u sent (%s)\n",argv[0],i-1,argv[i]);


}/* for */

return 0;
}/*main*/

Chương trình tcpServer.c

/* Chuong trinh tcpServer.c */

/* Khai báo các file thư viện cần thiết để gọi hàm socket*/
#include <sys/types.h>

#include <sys/socket.h>
#include <netinet/in.h>

#include <arpa/inet.h>
#include <netdb.h>

#include <stdio.h>
#include <unistd.h>

/* close */


#define SUCCESS 0
#define ERROR 1


#define END_LINE 0x0

#define SERVER_PORT 1500
#define MAX_MSG 100


/* function readline */

int read_line();

Liên Kết Chia Sẽ

** Đây là liên kết chia sẻ bới cộng đồng người dùng, chúng tôi không chịu trách nhiệm gì về nội dung của các thông tin này. Nếu có liên kết nào không phù hợp xin hãy báo cho admin.