您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ socket_write函数代码示例

51自学网 2021-06-03 08:06:26
  C++
这篇教程C++ socket_write函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中socket_write函数的典型用法代码示例。如果您正苦于以下问题:C++ socket_write函数的具体用法?C++ socket_write怎么用?C++ socket_write使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了socket_write函数的27个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: register_vehicle

void 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_main

int 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_history

void 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函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。