#ifndef _HEAD_SOCKET_H
#define _HEAD_SOCKET_H
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define SIZE 100
// typedef unsigned int UINT;
// typedef unsigned char UCHAR;
// typedef unsigned char USHOET;
bool JUDEG = true;
#endif
#include "head_socket.h"
int main(int argc, char const *argv[])
{
if(argc != 3)
{
printf("Usage: %s n", argv[0]);
exit(0);
}
int fd = socket(AF_INET, SOCK_STREAM, 0);
struct sockaddr_in srvaddr, cliaddr;
socklen_t len = sizeof(srvaddr);
bzero(&srvaddr, len);
srvaddr.sin_family = AF_INET;
inet_pton(AF_INET, argv[1], &srvaddr.sin_addr);
srvaddr.sin_port = htons(atoi(argv[2]));
connect(fd, (struct sockaddr *)&srvaddr, len);
char buf[SIZE];
while(JUDEG)
{
bzero(buf, SIZE);
if(fgets(buf, SIZE, stdin) ==NULL)
break;
if(strncmp(buf, "quit", 4) == 0)
{
fprintf(stdout,"Process exit!n");
break;
}
write(fd, buf, strlen(buf));
}
close(fd);
return 0;
}
#include "head_socket.h"
int main(int argc, const char *argv[])
{
if(argc != 2)
{
printf("Usage: %s n", argv[0]);
exit(0);
}
int fd = socket(AF_INET, SOCK_STREAM, 10);
struct sockaddr_in srvaddr, cliaddr;
socklen_t len = sizeof(srvaddr);
bzero(&srvaddr, len);
srvaddr.sin_family = AF_INET;
srvaddr.sin_port = htons(atoi(argv[1]));
srvaddr.sin_addr.s_addr = htonl(INADDR_ANY);
// inet_pton(AF_INET, "192.168.1.73", &srvaddr.sin_addr);
bind(fd, (struct sockaddr *)&srvaddr, len);
listen(fd, 3);
len = sizeof(cliaddr);
int connect_fd = accept(fd, (struct sockaddr *)&cliaddr, &len);
char peeraddr[50];
bzero(peeraddr, 50);
printf("new connection: %s:%hun",
inet_ntop(AF_INET, &cliaddr.sin_addr, peeraddr, 50),
cliaddr.sin_port);
char buf[SIZE];
while(JUDEG)
{
bzero(buf, SIZE);
if(read(connect_fd, buf, SIZE) == 0)
break;
if(strncmp(buf, "quit", 4) == 0)
{
fprintf(stdout,"Process exit!n");
//printf("Process exit!n");
break;
}
printf("from Jack: %s", buf);
}
close(fd);
close(connect_fd);
return 0;
}