Example #1
0
/* Start a client */
int JSocket::start_client(const char *szIpAddr){
#ifdef NETWORK_SUPPORT
 int sock;
  sockaddr_in addrListen;
  int error;

  sock = sceNetInetSocket(AF_INET, SOCK_STREAM, 0);
 if (sock <= 0){
  printf("socket returned $%x\n", sock);
  sceKernelDelayThread(500*1000);
  return sock;
 }

  addrListen.sin_family = AF_INET;
  addrListen.sin_addr.s_addr  = inet_addr(szIpAddr);
  addrListen.sin_port = htons(SERVER_PORT);

  int err = sceNetInetConnect(sock, (sockaddr *)&addrListen, sizeof(addrListen));
  if (err != 0){
   printf("Unable to connect!\n");
   printf("connect returned $%x\n", err);
   printf("  errno=$%x\n", sceNetInetGetErrno());
   sceKernelDelayThread(500*1000);
   return err;
 }

 connected = 1;

 while(1){
   readWrite(sock);
 }
 #endif
 return 0;
}
KParts::ReadWritePart* PartController::activeReadWrite() const
{
    return readWrite( activePart() );
}
Example #3
0
/* Start a server */
int JSocket::start_server(const char *szIpAddr)
{
#ifdef NETWORK_SUPPORT
	int ret;
	int sock;
	int _new = -1;
	struct sockaddr_in client;
	size_t size;
	int readbytes;

	fd_set set;
	fd_set setsave;

	/* Create a socket for listening */
	sock = make_socket(SERVER_PORT);
	if(sock < 0)
	{
		printf("Error creating server socket\n");
		return sock;
	}

	ret = listen(sock, 1);
	if(ret < 0)
	{
		printf("Error calling listen\n");
		return ret;
	}

	printf("Listening for connections ip %s port %d\n", szIpAddr, SERVER_PORT);

	FD_ZERO(&set);
	FD_SET(sock, &set);
	setsave = set;

	while(1)
	{
		int i;
		set = setsave;
		if(select(FD_SETSIZE, &set, NULL, NULL, NULL) < 0)
		{
			printf("select error\n");
			return -1;
		}

		for(i = 0; i < FD_SETSIZE; i++)
		{
			if(FD_ISSET(i, &set))
			{
				int val = i;

				if(val == sock)
				{
					_new = accept(sock, (struct sockaddr *) &client, &size);
					if(_new < 0)
					{
						printf("Error in accept %s\n", strerror(errno));
						close(sock);
						return _new;
					}

					printf("New connection %d from %s:%d\n", val,
							inet_ntoa(client.sin_addr),
							ntohs(client.sin_port));

					write(_new, "123567", strlen("123567"));

					FD_SET(_new, &setsave);
				}
				else
				{
					readWrite(val);
				}
			}
		}
	}

	close(sock);
#endif    
	return 0;
}
Example #4
0
void docommand(int fd, char * line) {
	int argc;
	char * commandStr = NULL;
	int commandStrLen = 0;
	int commandCommandLen = 0;
	char ** argv;
	int i = 0;
	argv = parseLine(line, &argc);
	if (argv == NULL) {
		printf("Invalid argument(s)\n");
	} else {
		if (!strncmp(argv[0], "set", 3)
				|| !strncmp(argv[0], "add", 3) || !strncmp(argv[0], "replace", 6)) {
			if (argc < 3) {
				goto free;
			}
			commandStr = concatStr(commandStr, argv[0]);
			commandStr = concatStr(commandStr, " ");
			commandStr = concatStr(commandStr, argv[1]);
			commandStr = concatStr(commandStr, " ");

			if (argc >= 5) {
				commandStr = concatStr(commandStr, argv[4]);
			} else {
				commandStr = concatStr(commandStr, "0");
			}
			commandStr = concatStr(commandStr, " ");

			if (argc >= 4) {
				commandStr = concatStr(commandStr, argv[3]);
			} else {
				commandStr = concatStr(commandStr, "3600");
			}
			commandStr = concatStr(commandStr, " ");
			commandStr = concatStr(commandStr, intToString((int)strlen(argv[2])));
			commandStr = concatStr(commandStr, "\r\n");
			commandStr = concatStr(commandStr, argv[2]);
			commandStr = concatStr(commandStr, "\r\n");
		} else if (!strncmp(argv[0], "get", 3) || !strncmp(argv[0], "gets", 3)) {
			commandStr = concatStr(commandStr, argv[0]);
			commandStr = concatStr(commandStr, " ");
			for (i = 1; i < argc - 1; i ++) {
				commandStr = concatStr(commandStr, argv[i]);
				commandStr = concatStr(commandStr, " ");
			}
			commandStr = concatStr(commandStr, argv[argc - 1]);
			commandStr = concatStr(commandStr, "\r\n");
		} else if (!strncmp(argv[0], "delete", 6)) {
			commandStr = concatStr(commandStr, argv[0]);
			commandStr = concatStr(commandStr, " ");
			commandStr = concatStr(commandStr, argv[1]);
			commandStr = concatStr(commandStr, "\r\n");
		} else if (!strncmp(argv[0], "flush_all", 8) || !strncmp(argv[0], "version", 6)
				|| !strncmp(argv[0], "quit", 4) || !strncmp(argv[0], "stats", 5)
				|| !strncmp(argv[0], "stats settings", strlen("stats settings"))) {
			commandStr = concatStr(commandStr, argv[0]);
			commandStr = concatStr(commandStr, "\r\n");
			if (!strncmp(argv[0], "quit", 4)) {
				exit(0);
			}
		} else if (!strncmp(argv[0], "incr", 4) || !strncmp(argv[0], "decr", 4)) {
			commandStr = concatStr(commandStr, argv[0]);
			commandStr = concatStr(commandStr, " ");
			commandStr = concatStr(commandStr, argv[1]);
			commandStr = concatStr(commandStr, " ");
			if (argc == 3) {
				commandStr = concatStr(commandStr, argv[2]);
			} else {
				commandStr = concatStr(commandStr, "1");
			}
			commandStr = concatStr(commandStr, "\r\n");
		} else if (!strncmp(argv[0], "append", 6) || !strncmp(argv[0], "prepend", 6)) {
			commandStr = concatStr(commandStr, argv[0]);
			commandStr = concatStr(commandStr, " ");
			commandStr = concatStr(commandStr, argv[1]);
			commandStr = concatStr(commandStr, " ");
			commandStr = concatStr(commandStr, argv[2]);
			commandStr = concatStr(commandStr, "\r\n");
		} else if (!strncmp(argv[0], "touch", 5)) {
			commandStr = concatStr(commandStr, argv[0]);
			commandStr = concatStr(commandStr, " ");
			commandStr = concatStr(commandStr, argv[1]);
			commandStr = concatStr(commandStr, " ");
			if (argc == 3) {
				commandStr = concatStr(commandStr, argv[2]);
			} else {
				commandStr = concatStr(commandStr, "3600");
			}
		} else {
			printf("Invalid argument(s)\n");
			goto free;
		}
		readWrite(fd, commandStr);
	}
free:
	for(i = 0; i < argc; i ++ ) {
		free(argv[i]);
	}
	free(argv);
	if (commandStr) {
		free(commandStr);
	}
}
Example #5
0
uint8_t Spi::readWrite(uint8_t data) {
	return readWrite((uint16_t)data);
}