int main(int argc,const char* argv[])
{
if(argc != 3)
{
printf("Usage:%s [loacl_ip] [loacl_port]\n",argv[0]);
return 1;
}
int listen_sock = startup(atoi(argv[2]),argv[1]);//初始化
//用来接收客户端的socket地址结构体
struct sockaddr_in remote;
socklen_t len = sizeof(struct sockaddr_in);
init();
while(1)
{
int sock = accept(listen_sock, (struct sockaddr*)&remote, &len);
if(sock < 0)
{
perror("accept");
continue;
}
printf("get a client, ip:%s, port:%d\n",inet_ntoa(remote.sin_addr),ntohs(remote.sin_port));
char buf[1024];
while(1)
{
ssize_t _s = read(sock, buf, sizeof(buf)-1);
if(_s > 0)
{
buf[_s] = 0;
printf("client:%s",buf);
if(buf[0]=='f')
{
forward();
}
if(buf[0]=='b')
{
backward();
}
|