这篇教程C++ socket_write函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中socket_write函数的典型用法代码示例。如果您正苦于以下问题:C++ socket_write函数的具体用法?C++ socket_write怎么用?C++ socket_write使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了socket_write函数的27个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: register_vehiclevoid register_vehicle(int fd, struct vehicle_list *vehicles){ int16_t port; char *addr; uint32_t data_size, id; if(socket_read(fd, &port, sizeof(int16_t)) != sizeof(int16_t)) return; port = ntohs(port); if(socket_read(fd, &data_size, sizeof(uint32_t)) != sizeof(uint32_t)) return; data_size = ntohl(data_size); addr = (char*)malloc(data_size + 1); if(addr == NULL) error_exit("Memory allocation:"); if(socket_read(fd, addr, data_size) != data_size) { free(addr); return; } addr[data_size] = 0; id = htonl(l_add_vehicle(vehicles, port, addr)); socket_write(fd, "k", 1); socket_write(fd, &id, sizeof(uint32_t)); printf("Vehicle %d registered. Count = %d/n", ntohl(id), vehicles->num_vehicles); free(addr);}
开发者ID:jablonskim,项目名称:Cjk,代码行数:31,
示例2: socket_mainint socket_main(int hsocket){ struct sockaddr_in sock; int asocket; /* Active socket */ socklen_t sock_len; char buffer[200]; int got; sock_len = sizeof(struct sockaddr_in); asocket = accept( hsocket, (struct sockaddr *)&sock, &sock_len ); if (asocket == -1) { return -1; } socket_write( asocket, "Hi there/n", 9 ); while (1) { while (socket_poll(asocket)==0) {} if ((got=socket_read(asocket, buffer, 200))>0) { socket_write( asocket, buffer, got ); } else break; } close(asocket); return 0;}
开发者ID:JackieXie168,项目名称:sdcc,代码行数:25,
示例3: get_historyvoid get_history(int fd, struct vehicle_list *vehicles){ int32_t id, count, x, y; struct single_vehicle *v; struct position *p; if(socket_read(fd, &id, sizeof(uint32_t)) != sizeof(uint32_t)) return; id = ntohl(id); count = begin_getting_history(vehicles, id, &v); count = htonl(count); if(socket_write(fd, &count, sizeof(uint32_t)) == sizeof(uint32_t) && v != NULL) { p = get_positions(v); while(p != NULL) { x = htonl(p->x); y = htonl(p->y); if(socket_write(fd, &x, sizeof(int32_t)) != sizeof(int32_t)) break; if(socket_write(fd, &y, sizeof(int32_t)) != sizeof(int32_t)) break; p = get_next_position(p); } } end_getting_history(vehicles, v);}
开发者ID:jablonskim,项目名称:Cjk,代码行数:30,
示例4: send_continuation/* * Sends a response to a command continuation request. */intsend_continuation(session *ssn, const char *data, size_t len){ if (ssn->socket == -1) return -1; if (socket_write(ssn, data, len) == -1 || socket_write(ssn, "/r/n", strlen("/r/n")) == -1) return -1; if (opts.debug) { unsigned int i; debug("sending continuation data (%d):/n/n", ssn->socket); for (i = 0; i < len; i++) debugc(data[i]); debug("/r/n/n"); } return 0;}
开发者ID:Papafox,项目名称:imapfilter,代码行数:28,
示例5: http_put_buf/** * HTTP PUT buffer contents to a remote URL * @param url URL to PUT the contents to * @param buf Buffer whose contents to send * @param count Size of buffer (number of bytes to send) * @return HTTP status code, 200 for OK. See the HTTP RFC for details. */int http_put_buf(const char *url, const void *buf, size_t count) { char *host = url_get_field(url, URL_HOST); char *port = url_get_field(url, URL_PORT); char *path = url_get_field(url, URL_PATH); int response_code = -1; if (host && port && path) { String *buffer = string_new(""); string_append_c(buffer, "PUT "); string_append_c(buffer, path); string_append_c(buffer, " HTTP/1.1/r/n"); string_append_c(buffer, "Host: "); string_append_c(buffer, host); string_append_c(buffer, "/r/n"); string_append_c(buffer, "Content-type: text/plain/r/n"); if (count > 0) { char length_str[16]; snprintf(length_str, sizeof length_str, "%zu", count); string_append_c(buffer, "Content-length: "); string_append_c(buffer, length_str); string_append_c(buffer, "/r/n"); } string_append_c(buffer, "Connection: close/r/n"); string_append_c(buffer, "Iam: anilakar/r/n"); string_append_c(buffer, "/r/n"); int http_socket = socket_tcp_connect(host, port); if (http_socket >= 0) { if (-1 == socket_write(http_socket, buffer->c_str, buffer->size) || -1 == socket_write(http_socket, buf, count)) { VERBOSE("Could not write to HTTP server."); } else { char response[512]; // Need only the first line int r = socket_read(http_socket, response, sizeof response - 1); response[r] = '/0'; sscanf(response, "HTTP/1.1 %d", &response_code); } } socket_close(&http_socket); string_delete(buffer); } else { VERBOSE("Malformed URL: %s", url); } free(path); free(port); free(host); VERBOSE("HTTP Response: %d", response_code); return response_code;}
开发者ID:andyn,项目名称:httpdns,代码行数:67,
示例6: main// main//-----------------------------------------------------------------------------------intmain (int argc, char *argv[]){ int s, size; pthread_t thread; char buf[256]; if (argc == 1) { printf ("usage: client <server IP address>/n"); exit (1); } s = socket_connect (argv[1], 1024); pthread_mutex_init (&g_mutex, NULL); pthread_create (&thread, NULL, thread_recv, (void *) &s); // メインル C++ socket_write_string函数代码示例 C++ socket_waitfd函数代码示例
|