• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C++ connect_socket函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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



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

示例1: connect_socket

void *thread_main(void *arg)
{
    int fd;
    char * spath = (char *) arg;
    char *tile;

    fd = connect_socket(spath);

    while((tile = fetch(spath, &fd))) {
        int ret = process(fd, tile);
        if (ret == 0) {
            printf("Reconnecting closed socket\n");
            close(fd);
            fd = connect_socket(spath);
        }
        num_render++;
        if (!(num_render % 10)) {
            gettimeofday(&end, NULL);
            printf("\n");
            printf("Meta tiles rendered: ");
            display_rate(start, end, num_render);
            printf("Total tiles rendered: ");
            display_rate(start, end, num_render * METATILE * METATILE);
            printf("Number of Metatiles tested for expiry: ");
            display_rate(start, end, num_all);
            printf("\n");
        }
        free(tile);
    }

    close(fd);

    return NULL;
}
开发者ID:bily,项目名称:mod_tile,代码行数:34,代码来源:render_old.c


示例2: test_connect_two_sockets

static void test_connect_two_sockets(const void *test_data)
{
	struct test_data *data = tester_get_data();
	const struct l2cap_data *l2data = data->test_data;
	const uint8_t *client_bdaddr;

	test_two_sockets_connect_cb_cnt = 0;
	test_scan_enable_counter = 0;

	hciemu_add_master_post_command_hook(data->hciemu,
				test_connect_two_sockets_router, data);

	if (l2data->server_psm) {
		struct bthost *bthost = hciemu_client_get_host(data->hciemu);

		if (!l2data->data_len)
			bthost_add_l2cap_server(bthost, l2data->server_psm,
						NULL, NULL);
	}

	client_bdaddr = hciemu_get_client_bdaddr(data->hciemu);
	if (l2data->close_one_socket)
		connect_socket(client_bdaddr, &data->sk, NULL);
	else
		connect_socket(client_bdaddr, &data->sk,
						test_two_sockets_connect_cb);
}
开发者ID:AwxiVYTHUIiMOol,项目名称:bluez,代码行数:27,代码来源:l2cap-tester.c


示例3: connect_and_serve

static IPC_SOCKET_TYPE connect_and_serve(const char *socket_path, const char* event_path, const char *exec_path)
{
  IPC_SOCKET_TYPE sock = connect_socket(socket_path, 0);

  if (sock == INVALID_HANDLE_VALUE)
  {
    start_server(socket_path, event_path, exec_path);
    sock = connect_socket(socket_path, 1);
  }

  if (sock == INVALID_HANDLE_VALUE)
    abort();

  return sock;
}
开发者ID:dra27,项目名称:merlin,代码行数:15,代码来源:ocamlmerlin.c


示例4: main

int main(int argc, char **argv) 
{
		SOCKET sock = connect_socket(IP_ADDR, PORT);
		BOOL must_continue = sock != INVALID_SOCKET;
		
		char buf[MAXLINE];
		char* prompt = "sldb> ";
		while( must_continue ){
			//snprintf(buf, MAXLINE, "?1 ? ?\r\n");
			
			write(STDOUT_FILENO, prompt, strlen(prompt));
      int n_readed = read(STDIN_FILENO, buf, MAXLINE);
			must_continue &= !send_socket(sock, buf, n_readed);
			
			while( must_continue ){
				int len = read_line(sock, buf, MAXLINE);
				BOOL is_empty_line = len == 0;
				if( is_empty_line ){
					break;
				}
				write(STDOUT_FILENO, buf, len);
				printf("\r\n");
				BOOL must_close = !strcmp(buf, "!close");
				must_continue &= !must_close;
			}
		}
		
		int iResult = close_socket(sock);
    return iResult;
}
开发者ID:dtestyk,项目名称:sldb,代码行数:30,代码来源:lines_database_client.c


示例5: websocket_connect

int websocket_connect(websocket_t *client, char *host, const char *port)
{
	int r;
	int tls_hs_retry = WEBSOCKET_MAX_TLS_HANDSHAKE;

TLS_HS_RETRY:
	if ((r = connect_socket(client, host, port)) != WEBSOCKET_SUCCESS) {
		return r;
	}

	if (websocket_config_socket(client->fd) != WEBSOCKET_SUCCESS) {
		WEBSOCKET_CLOSE(client->fd);
		return WEBSOCKET_SOCKET_ERROR;
	}

	if (client->tls_enabled) {
		if ((r = websocket_tls_handshake(client, host, client->auth_mode)) != WEBSOCKET_SUCCESS) {
			if (r == MBEDTLS_ERR_NET_SEND_FAILED || r == MBEDTLS_ERR_NET_RECV_FAILED || r == MBEDTLS_ERR_SSL_CONN_EOF) {
				if (tls_hs_retry-- > 0) {
					WEBSOCKET_DEBUG("Handshake again.... \n");
					mbedtls_net_free(&(client->tls_net));
					mbedtls_ssl_free(client->tls_ssl);
					mbedtls_ssl_init(client->tls_ssl);
					goto TLS_HS_RETRY;
				}
			}
			return WEBSOCKET_TLS_HANDSHAKE_ERROR;
		}
	}
	return r;
}
开发者ID:drashti304,项目名称:TizenRT,代码行数:31,代码来源:websocket.c


示例6: connected

/* Select handler which is set for the socket descriptor when connect() has
 * indicated (via errno) that it is in progress. On completion this handler gets
 * called. */
static void
connected(struct socket *socket)
{
	int err = 0;
	struct connection_state state = connection_state(0);
	socklen_t len = sizeof(err);

	assertm(socket->connect_info != NULL, "Lost connect_info!");
	if_assert_failed return;

	if (getsockopt(socket->fd, SOL_SOCKET, SO_ERROR, (void *) &err, &len) == 0) {
		/* Why does EMX return so large values? */
		if (err >= 10000) err -= 10000;
		if (err != 0)
			state = connection_state_for_errno(err);
		else
			state = connection_state(0);
	} else {
		/* getsockopt() failed */
		if (errno != 0)
			state = connection_state_for_errno(errno);
		else
			state = connection_state(S_STATE);
	}

	if (!is_in_state(state, 0)) {
		/* There are maybe still some more candidates. */
		connect_socket(socket, state);
		return;
	}

	complete_connect_socket(socket, NULL, NULL);
}
开发者ID:nabetaro,项目名称:elinks,代码行数:36,代码来源:socket.c


示例7: dns_found

/* DNS callback. */
static void
dns_found(struct socket *socket, struct sockaddr_storage *addr, int addrlen)
{
	struct connect_info *connect_info = socket->connect_info;
	int size;

	if (!addr) {
		socket->ops->done(socket, connection_state(S_NO_DNS));
		return;
	}

	assert(connect_info);

	size = sizeof(*addr) * addrlen;

	connect_info->addr = mem_alloc(size);
	if (!connect_info->addr) {
		socket->ops->done(socket, connection_state(S_OUT_OF_MEM));
		return;
	}

	memcpy(connect_info->addr, addr, size);
	connect_info->addrno = addrlen;

	/* XXX: Passing non-result state here is bad but a lack of alternatives
	 * makes it so. Well adding get_state() socket operation could maybe fix
	 * it but the returned state would most likely be a non-result one at
	 * this point in the connection lifecycle. This will, however, only be a
	 * problem if connect_socket() fails without doing any system calls
	 * which is only the case when forcing the IP family. So it is better to
	 * handle it in connect_socket(). */
	connect_socket(socket, connection_state(S_CONN));
}
开发者ID:nabetaro,项目名称:elinks,代码行数:34,代码来源:socket.c


示例8: main

int main(int argc, char** argv) {
    if (argc < 3) {
        printf("Usage: jattach <pid> <cmd> <args> ...\n");
        return 1;
    }
    
    int pid = atoi(argv[1]);
    if (!check_socket(pid) && !start_attach_mechanism(pid)) {
        printf("Could not start attach mechanism\n");
        return 1;
    }

    int fd = connect_socket(pid);
    if (fd == -1) {
        printf("Could not connect to socket\n");
        return 1;
    }
    
    printf("Connected to remote JVM\n");
    write_command(fd, argc - 2, argv + 2);

    printf("Response code = ");
    read_response(fd);

    printf("\n");
    close(fd);
    
    return 0;
}
开发者ID:anjanb,项目名称:jattach,代码行数:29,代码来源:jattach.c


示例9: main

int main(int argc, char ** argv)
{
    int   sockfd=0;
    char  sendMsg[30]="abc.org/r/n/r";
    char* res;
    int   port = 4242;
    char  ip[128] = {0};
    strncpy(ip, "127.0.0.1", 128);
    if(argc > 2)
    {
        strncpy(ip, argv[1], 128);
        port = atoi(argv[2]);
        printf("Input IP: %s, port : %d/n", ip, port);
    }
    else if(argc > 1)
    {
        port = atoi(argv[1]);
        printf("Input port : %d/n", port);
    }
    sockfd=connect_socket(ip, port);

    send_msg(sockfd,sendMsg);
    /* res=recv_msg(sockfd); */

    printf("return from recv function/n");
    printf(res);
    free(res);
    close_socket(sockfd);
    return 0;
}
开发者ID:weizechun,项目名称:sourcecodes,代码行数:30,代码来源:client.c


示例10: IPC_initialize_node

// Initialize resources for the node
void IPC_initialize_node(int _node_id)
{
  node_id = _node_id;

  if (node_id == 0)
  {
    sock = (typeof(sock)) malloc(sizeof(*sock) * nb_nodes);
    if (!sock)
    {
      perror("sock allocation error");
      exit(-1);
    }

    sock[0] = create_socket(PORT_CORE_0, nb_nodes);

    for (int i = 1; i < nb_nodes; i++)
    {
      sock[i] = get_connection(sock[0]);
    }
  }
  else
  {
    sock = (typeof(sock)) malloc(sizeof(*sock));
    if (!sock)
    {
      perror("sock allocation error");
      exit(-1);
    }

    sock[0] = create_socket(0, 0);
    connect_socket(sock[0], PORT_CORE_0);
  }
}
开发者ID:schaars,项目名称:kzimp,代码行数:34,代码来源:inet_tcp_socket.c


示例11: main

int main (int argc, char *argv[]) {

  // Exit nicely
  struct sigaction sigIntHandler;

  sigIntHandler.sa_handler = my_handler;
  sigemptyset(&sigIntHandler.sa_mask);
  sigIntHandler.sa_flags = 0;

  sigaction(SIGINT, &sigIntHandler, NULL);
  // / Exit nicely

  if( argc < 2 ){
    printf("Usage: %s ServerAdresse\n", *argv);
    exit(EXIT_FAILURE);
  }

  sock = create_socket(AF_INET6, SOCK_STREAM, 0);
  atexit(cleanup);
  connect_socket(&sock, argv[1], 15000);

  pthread_t tw;
  pthread_create(&tw,NULL,sender,NULL);

  pthread_t tr;
  pthread_create(&tr,NULL,listener,NULL);

  pthread_join(tw,NULL);
  pthread_join(tr,NULL);

  return EXIT_SUCCESS;
}
开发者ID:chen1990,项目名称:wsnlab,代码行数:32,代码来源:client.c


示例12: close

apisock *api_connect_ssl(){
  apisock *ret;
  SSL *ssl;
  int sock;
  sock=connect_socket(API_HOST, API_PORT_SSL);
  if (sock==-1)
    return NULL;
  if (!globalctx){
    SSL_library_init();
    OpenSSL_add_all_algorithms();
    OpenSSL_add_all_ciphers();
    SSL_load_error_strings();
    globalctx=SSL_CTX_new(SSLv23_method());
    if (!globalctx)
      return NULL;
  }
  ssl=SSL_new(globalctx);
  if (!ssl){
    close(sock);
    return NULL;
  }
  SSL_set_fd(ssl, sock);
  if (SSL_connect(ssl)!=1){
    SSL_free(ssl);
    close(sock);
    return NULL;
  }
  ret=(apisock *)malloc(sizeof(apisock));
  ret->sock=sock;
  ret->ssl=ssl;
  return ret;
}
开发者ID:andemi02,项目名称:pfs,代码行数:32,代码来源:binapi.c


示例13: REPORT_ERROR

void Socket::create_and_connect()
{
    addrinfo* serverinfo;
    int res;

    if ((res = get_addr_info(&serverinfo)) != 0)
    {
        throw std::system_error(errno, std::system_category(),
                                REPORT_ERROR("getaddrinfo failure: " +
                                std::string(gai_strerror(res))));
    }

    try
    {
        create_socket(serverinfo);
        connect_socket(serverinfo);
    }
    catch (std::system_error const& err)
    {
        freeaddrinfo(serverinfo);
        close(sock);
        throw err;
    }

    freeaddrinfo(serverinfo);

    if (!server_info.password.empty())
        send_to_socket("PASS " + server_info.password + "\r\n");

    send_to_socket("NICK " + server_info.nick + "\r\n");
    send_to_socket("USER " + server_info.user + "\r\n");
}
开发者ID:BrandonSchaefer,项目名称:IRCClientParser,代码行数:32,代码来源:socket.cpp


示例14: fopen

void *FUNC_THREAD(void *threadid)
{
    FILE *dosya_yaz;
    dosya_yaz = fopen("userlist.txt","a");
    long tid;
    tid = (long)threadid;
    
    char str[20];
    sprintf(str,"192.168.2.%ld",(tid+1));
    
    int conn;
    conn = connect_socket(10001,str);
    char inbuffer[512];
    if (conn != -1)
	{
		recv(conn,inbuffer,512,0);
		fprintf(dosya_yaz,"%s %s\n",str,inbuffer);
		
	}
	   
    close(conn);
    
    fclose(dosya_yaz);
    pthread_exit(NULL);
}
开发者ID:skarahoda,项目名称:chatter,代码行数:25,代码来源:ipScanModule.c


示例15: sanlock_request

int sanlock_request(uint32_t flags, uint32_t force_mode,
		    struct sanlk_resource *res)
{
	int fd, rv, datalen;

	datalen = sizeof(struct sanlk_resource) +
		  sizeof(struct sanlk_disk) * res->num_disks;

	rv = connect_socket(&fd);
	if (rv < 0)
		return rv;

	rv = send_header(fd, SM_CMD_REQUEST, flags, datalen, force_mode, 0);
	if (rv < 0)
		goto out;

	rv = send(fd, res, sizeof(struct sanlk_resource), 0);
	if (rv < 0) {
		rv = -errno;
		goto out;
	}

	rv = send(fd, res->disks, sizeof(struct sanlk_disk) * res->num_disks, 0);
	if (rv < 0) {
		rv = -errno;
		goto out;
	}

	rv = recv_result(fd);
 out:
	close(fd);
	return rv;
}
开发者ID:gdahlm,项目名称:sanlock,代码行数:33,代码来源:client.c


示例16: send_request

int
send_request(Request req)
{
	if (! req->socket ) {
		req->socket = connect_socket(req->host,req->port,0);
		if (! req->socket) {
			error("Failed to connect to %s:%i\n",req->host,req->port);
			return 0;
		}
		add_req_socket(req->socket->fd);
		return 0;
	}
	if (req->length < 0) {
		str cmd = _("%s %s HTTP/1.1\r\n",req->method,req->path);
		write_socket(req->socket,cmd);
		request_headers(req,_("Host"),req->host);
		send_headers(req->socket,req->headers);
		req->length = outbound_content_length(req->contents,req->raw_contents);	
		return req->contents != NULL || req->raw_contents != NULL ;
	}
	req->written += req->contents ?
			send_contents(req->socket,req->contents,is_chunked(req->headers)) :
		req->raw_contents ?
			send_raw_contents(req->socket,req->raw_contents,req->written,0):
			0;
	if (is_chunked(req->headers) && req->written >= req->length)
		write_chunk(req->socket,NULL,0);
	return req->written < req->length;
}
开发者ID:cthulhuology,项目名称:Jawas,代码行数:29,代码来源:requests.c


示例17: op_setopt

static int op_setopt (void *impl, const char *option,
                      const void *val, size_t size)
{
    ctx_t *ctx = impl;
    assert (ctx->magic == MODHANDLE_MAGIC);
    size_t val_size;
    int rc = -1;

    if (option && !strcmp (option, FLUX_OPT_ZEROMQ_CONTEXT)) {
        val_size = sizeof (ctx->zctx);
        if (size != val_size) {
            errno = EINVAL;
            goto done;
        }
        memcpy (&ctx->zctx, &val, val_size);
        if (connect_socket (ctx) < 0)
            goto done;
    } else {
        errno = EINVAL;
        goto done;
    }
    rc = 0;
done:
    return rc;
}
开发者ID:dinesh121991,项目名称:flux-core,代码行数:25,代码来源:shmem.c


示例18: LPR

/*
  Fork lgmon's process - for LPR(ng) system

       lm_main_lpr()        : parent process.
       data_output_process(): print data output process.
       status_get_process() : print status read process.
*/
static void lm_main_fork_lpr()
{
	char *nbuf;

	if((stmon_pid = fork())){
		int server_fd  = 0;
		int sm_sock_fd = 0;

		/* create socket and connect LM<->SM */
		if(connect_socket(&server_fd, &sm_sock_fd) < 0){
			/* socket error */

			if(server_fd > 0)
				close(server_fd);
			if(sm_sock_fd > 0)
				close(sm_sock_fd);

			kill(stmon_pid, SIGTERM);
			goto lm_exit;
		}

		if((stat_pid = fork())){
			if((data_pid = fork())){
				/* LM main process */

				/* exec lgmon main process */
				lm_main_lpr(sm_sock_fd);
				close(sm_sock_fd);
				close(server_fd);
			}
			else
				/* print data output process */
				data_output_process(sm_sock_fd); /* never return */
		}
		else
			/* printer status get process */
			status_get_process(sm_sock_fd); /* never return */
	}
	else{
		nbuf = (char *)malloc ((strlen (STMON_PATH)+strlen (PACKAGE)+2));
		if (nbuf == NULL)
			exit (0);
		
		memset((void*)nbuf, 0, (strlen (STMON_PATH)+strlen (PACKAGE)+1));
		strncpy(nbuf, STMON_PATH, strlen (STMON_PATH) );
		strncat(nbuf, "/", strlen("/"));
		strncat(nbuf, PACKAGE, strlen(PACKAGE));
		/* status monitor process */
		if(execv(nbuf, stamon_arg) < 0){
#ifdef DEBUG
			write_log("SM execv error\n");
#endif
		}
		exit(0); /* never arrive this point */
	}

lm_exit:
	return;
}
开发者ID:Magister,项目名称:bjcups-2.50,代码行数:66,代码来源:langmon.c


示例19: main

int main (int argc, char *argv[]) {
	if (argc < 3) {
		fprintf (stderr, "Usage: ./client ip_server port_server\n");
		exit (EXIT_FAILURE);
	}
	connect_socket (argv[1], atoi (argv[2]));
	return 0;
}
开发者ID:legrajul,项目名称:bavardage,代码行数:8,代码来源:client.c


示例20: main

int main(int argc, char *argv[])
{
	SSL_CTX *ctx;
	const SSL_METHOD *method = SSLv3_client_method();
	int client_fd;
	char *host;
	char *portnum;
	int bench_send = 0;
	int bench_recv = 0;
	int i;
	enum cipher_choice cipher_choice = CIPHER_ALL;

	if (argc < 3) {
		printf("Usage: %s <host_ip> <portnum> [opts]\n", argv[0]);
		exit(-1);
	}

	host = argv[1];
	portnum = argv[2];

	lib_init();

	for (i = 3; i < argc; i++) {
		if (strcmp("tls-1.2", argv[i]) == 0) {
			method = TLSv1_2_client_method();
		} else if (strcmp("tls-1.1", argv[i]) == 0) {
			method = TLSv1_1_client_method();
		} else if (strcmp("tls-1.0", argv[i]) == 0) {
			method = TLSv1_client_method();
		} else if (strcmp("ssl-3.0", argv[i]) == 0) {
			method = SSLv3_client_method();
		} else if (strcmp("bench-send", argv[i]) == 0) {
			bench_send = atoi(argv[++i]);
		} else if (strcmp("bench-recv", argv[i]) == 0) {
			bench_recv = atoi(argv[++i]);
		} else {
			printf("warning: unknown option: \"%s\"\n", argv[i]);
		}
	}

	ctx = client_init(method, cipher_choice);

	client_fd = connect_socket(host, atoi(portnum));

	printf("[status] connected. handshaking\n");

	SSL *ssl;
	ssl = SSL_new(ctx);
	SSL_set_fd(ssl, client_fd);

	if (bench_send > 0 || bench_recv > 0)
		benchmark(ssl, bench_send, bench_recv);
	else
		process(ssl);
	close(client_fd);
	SSL_CTX_free(ctx);
	return 0;
}
开发者ID:kazu-yamamoto,项目名称:hs-tls,代码行数:58,代码来源:openssl-client.c



注:本文中的connect_socket函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C++ connect_to函数代码示例发布时间:2022-05-30
下一篇:
C++ connect_server函数代码示例发布时间:2022-05-30
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap