コード例 #1
0
	int
main(int argc, char *argv[])
{
	int confd;
	struct sockaddr_in saddr;
	char sbuf[1024] = "12345", cbuf[1024];
	pid_t pid;
	int i;

	for (i = 0; i < 200; i++)
	{
		pid = fork ();
		if (pid == 0)
		{
			confd = func_socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);

			saddr.sin_family = AF_INET;
			saddr.sin_port = htons(8000);
			inet_pton(AF_INET, "127.0.0.1", &saddr.sin_addr);
			func_connect(confd, (struct sockaddr *)&saddr, sizeof(saddr));
#if 0

			bzero(sbuf, sizeof(sbuf));
			//	func_gets(sbuf);
			//while(func_gets(sbuf))
			while(scanf("%s", sbuf))
			{
				fprintf(stdout, "sbuf:%s\n", sbuf);
				func_send(confd, sbuf, sizeof(sbuf) > strlen(sbuf) ? strlen(sbuf) : sizeof(sbuf), 0);

				bzero(cbuf, sizeof(cbuf));
				func_recv(confd, cbuf, sizeof(cbuf), 0);
				fprintf(stdout, "cbuf:%s\n", cbuf);
			}
#endif
			func_close(confd);
			break;
		}
		else if (pid < 0)
		{
			fprintf(stdout, "fork error:%s\n", strerror(errno));
			fprintf(stdout, "pid:%d\n", pid);
		}
	}

	exit(0);


	return 0;
}
コード例 #2
0
ファイル: game.c プロジェクト: pmathticol/xiaonizi
int func_timeout_reconnect(char *serverip,char *serverport,char *clientip,char *clientport){
    int connectTime = 1000;
    int result=-1;
    while(result<0 && connectTime>0)
    {
        --connectTime;
        // create socket
        clientfd = socket(AF_INET,SOCK_STREAM,0);
        if(clientfd<0)
        {
            fprintf(fp,"socket() failed\n");
            close(clientfd);
            continue;
        }
        // bind
        if(func_bind(clientfd,clientip,clientport)<0)
        {
            fprintf(fp,"bind() failed\n");
            close(clientfd);
            continue;
        }
        result = func_connect(clientfd,serverip,serverport);
        if(result<0)
        {
            fprintf(fp,"connect() failed\n");
            close(clientfd);
        }
    }
    if(connectTime<=0&&result==-1)
    {
        fprintf(fp,"final!!!connect() failed\n");
        fprintf(fp,"connet error ,and game over");
        fclose(fp);
        return -1;
    }else
    {
        fprintf(fp,"final!!!connect() successed\n");
		return 0;
    }
}
コード例 #3
0
ファイル: ftp.c プロジェクト: github188/SimpleCode
int main(int argc, char *argv[])
{
   void (*OldSig)(int);
   OldSig=signal(SIGINT,SIG_IGN);
   printf("nn************************************************************rn");
   printf("*                           zFTP                           *rn");
   printf("************************************************************rn");
   printf("                                 Copyright (c) 2005rn");
   printf("                                 All rights reserved.rn");
   printf("                                 By Ji Surn");
   if(argc > 0)
   {
     printf("nPlease use 'connect <system name> <user>'  command to connect to a FTPserverrn");
     printf("For anonymous user, please leave <user> blank.rn");
   }	 
   
   //Main loop starts; 
   //Checks on keyboard i/o for interaction and socket communication.
 
   int exit=0;
char command[1024];
printf("nzftp>");
while(!exit) {
 if( ReadCommand ) {
     printf("nzftp>");
     fflush(stdout);
 }
 
 if( !CheckFds(command) )
      continue;
 
 switch(check_cmd(command) ) {
 case READ:
      func_read(command);
      break;
 case WRITE:
      func_write(command);
      break;
case BINARY:
      func_binary_mode();
      break;
case ASCII:
      func_ascii_mode();
      break;
case CLOSE:
 func_close();
 break;
case CONNECT:
 func_connect(command);
 break;
case CD:
func_cdir(command);
  	break;
case DELETE:
func_delete(command);
  	break;
case PWD:
func_pwd(command);
break;
case LS:
func_list(command);
break;
case HELP:
func_help(command);
  	break;
case SHELL:
func_Shell_cmd(command);
break;
 case EXIT:
 exit = 1;
 if( flag_connected )
     func_close();
 break;
 default:
if(command[0] == 0 ) ;
else
    printf("Invalid command: %sn",command);
break;
  }
 }
   
   (void)signal(SIGINT,OldSig);
   return 0;
}