myconetwork.c 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. /*
  2. * mycoagent.c
  3. *
  4. * This is an example agent that showcases the use of mycorrhiza.
  5. */
  6. #include "../src/myco-agent.c"
  7. #include "../src/myco-serialize.c"
  8. int myco_connect(const char* ip, int port) {
  9. struct sockaddr_in address;
  10. int mysocket = socket(AF_INET, SOCK_STREAM | SOCK_NONBLOCK, 0);
  11. address.sin_family = AF_INET;
  12. address.sin_port = htons (port);
  13. inet_aton (ip, &address.sin_addr);
  14. connect (mysocket, (struct sockaddr *) &address, sizeof (address));
  15. return mysocket;
  16. }
  17. int main() {
  18. /*
  19. char *agent_name = "DOMAIN1_MYAGENT";
  20. int agent_message_queue_id = myco_agent_register(agent_name);
  21. // MYCO create
  22. // #MYCO create("RESOURCE_1", 1024, transactional)
  23. char *resource_name = "RESOURCE_1";
  24. int resource_size = 1024;
  25. void *resource_pointer = myco_agent_register_resource(agent_message_queue_id, agent_name, resource_name, RESOURCE_TRANSACTIONAL, getpid(), resource_size);
  26. // View available resources
  27. myco_agent_request_resource_list(agent_message_queue_id);
  28. //printf("Sleeping for 10 seconds...\n");
  29. //sleep(10);
  30. */
  31. int socket = myco_connect("192.168.0.10", 15001);
  32. char tcp_message[1024];
  33. sprintf(tcp_message, "Hello World!\n");
  34. //myco_serialize(tcp_message, resource_pointer, resource_size);
  35. send(socket, &tcp_message, strlen(tcp_message), 0);
  36. /*
  37. // At the end of its runtime the agent unregisters with the daemon.
  38. myco_agent_unregister(agent_name, agent_message_queue_id);
  39. */
  40. close (socket);
  41. return EXIT_SUCCESS;
  42. }