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

C++ send_msg函数代码示例

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

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



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

示例1: mrp_get_domain

int mrp_get_domain(struct mrp_listener_ctx *ctx, struct mrp_domain_attr *class_a, struct mrp_domain_attr *class_b)
{
	char *msgbuf;
	int ret;

	/* we may not get a notification if we are joining late,
	 * so query for what is already there ...
	 */
	msgbuf = malloc(1500);
	if (NULL == msgbuf)
		return -1;
	memset(msgbuf, 0, 1500);
	sprintf(msgbuf, "S??");
	ret = send_msg(msgbuf, 1500, ctx);
	free(msgbuf);
	if (ret != 1500)
		return -1;
	while (!ctx->halt_tx && (ctx->domain_a_valid == 0) && (ctx->domain_b_valid == 0))
		usleep(20000);
	class_a->id = 0;
	class_a->priority = 0;
	class_a->vid = 0;
	class_b->id = 0;
	class_b->priority = 0;
	class_b->vid = 0;
	if (ctx->domain_a_valid) {
		class_a->id = ctx->domain_class_a_id;
		class_a->priority = ctx->domain_class_a_priority;
		class_a->vid = ctx->domain_class_a_vid;
	}
	if (ctx->domain_b_valid) {
		class_b->id = ctx->domain_class_b_id;
		class_b->priority = ctx->domain_class_b_priority;
		class_b->vid = ctx->domain_class_b_vid;
	}
	return 0;
}
开发者ID:AVnu,项目名称:Open-AVB,代码行数:37,代码来源:listener_mrp_client.c


示例2: modbus_report_slave_id

/* Send a request to get the slave ID of the device (only available in serial
   communication). */
int modbus_report_slave_id(modbus_t *ctx, uint8_t *dest)
{
    int rc;
    int req_length;
    uint8_t req[_MIN_REQ_LENGTH];

    req_length = ctx->backend->build_request_basis(ctx, _FC_REPORT_SLAVE_ID,
                                                   0, 0, req);

    /* HACKISH, addr and count are not used */
    req_length -= 4;

    rc = send_msg(ctx, req, req_length);
    if (rc > 0) {
        int i;
        int offset;
        uint8_t rsp[MAX_MESSAGE_LENGTH];

        rc = _modbus_receive_msg(ctx, rsp, MSG_CONFIRMATION);
        if (rc == -1)
            return -1;

        rc = check_confirmation(ctx, req, rsp, rc);
        if (rc == -1)
            return -1;

        offset = ctx->backend->header_length + 2;

        /* Byte count, slave id, run indicator status,
           additional data */
        for (i=0; i < rc; i++) {
            dest[i] = rsp[offset + i];
        }
    }

    return rc;
}
开发者ID:andrewtholt,项目名称:libmodbus-3.0.1,代码行数:39,代码来源:modbus.c


示例3: test_ctx_send_cb

static void test_ctx_send_cb(struct pomp_ctx *ctx,
		struct pomp_conn *conn,
		struct pomp_buffer *buf,
		uint32_t status,
		void *cookie,
		void *userdata)
{
	int res = 0;
	struct test_data *data = userdata;
	struct test_peer *src = NULL;
	struct test_peer *dst = NULL;
	CU_ASSERT_PTR_NOT_NULL(ctx);
	CU_ASSERT_PTR_NOT_NULL(conn);
	CU_ASSERT_PTR_NOT_NULL(buf);
	data->sendcount++;
	CU_ASSERT_PTR_NULL(cookie);

	/* Internal function invalid arguments checks */
	res = pomp_ctx_notify_send(NULL, conn, buf, 0);
	CU_ASSERT_EQUAL(res, -EINVAL);
	res = pomp_ctx_notify_send(ctx, NULL, buf, 0);
	CU_ASSERT_EQUAL(res, -EINVAL);
	res = pomp_ctx_notify_send(ctx, conn, NULL, 0);
	CU_ASSERT_EQUAL(res, -EINVAL);

	/* Get source and destination */
	src = (ctx == data->srv.ctx) ? &data->srv : &data->cli;
	dst = (ctx == data->srv.ctx) ? &data->cli : &data->srv;

	if (src->recurs_send_enabled) {
		/* Disable recursive send. */
		src->recurs_send_enabled = 0;

		/* Exchange some message */
		send_msg(data, src, dst, "recursive_msg");
	}
}
开发者ID:zousenming,项目名称:libpomp,代码行数:37,代码来源:pomp_test_ctx.c


示例4: main

int
main()
{
	uint16_t	num_trackers;
	in_addr_t	trackers[MAX_TRACKERS];
	uint16_t	maxpeers;
	uint16_t	num_pkg_servers;
	in_addr_t	pkg_servers[MAX_PKG_SERVERS];
	int		i;
	int		sockfd;
	char		trackers_url[256];
	char		pkg_servers_url[256];

	sprintf(trackers_url,"127.0.0.1");

	sprintf(pkg_servers_url,"127.0.0.1");

	fprintf(stderr, "main:trackers_url (%s)\n", trackers_url);
	fprintf(stderr, "main:pkg_servers_url (%s)\n", pkg_servers_url);
	
	if (init(&num_trackers, trackers_url, trackers, &maxpeers,
			pkg_servers_url, &num_pkg_servers, pkg_servers) != 0) {
		fprintf(stderr, "main:init failed\n");
		return(-1);
	}

	if ((sockfd = init_tracker_comm(0)) < 0) {
		fprintf(stderr, "main:init_tracker_comm failed\n");
		return(-1);
	}

	for (i = 0 ; i < num_trackers; ++i) {
		send_msg(sockfd, &trackers[i], DUMP_TABLES);
	}

	return(0);
}
开发者ID:atulyadavtech,项目名称:kernel,代码行数:37,代码来源:dump-tables.c


示例5: on_host_init

static int on_host_init(VSCMsgHeader *mhHeader, VSCMsgInit *incoming)
{
    uint32_t *capabilities = (incoming->capabilities);
    int num_capabilities =
        1 + ((mhHeader->length - sizeof(VSCMsgInit)) / sizeof(uint32_t));
    int i;
    int rv;
    pthread_t thread_id;

    incoming->version = ntohl(incoming->version);
    if (incoming->version != VSCARD_VERSION) {
        if (verbose > 0) {
            printf("warning: host has version %d, we have %d\n",
                verbose, VSCARD_VERSION);
        }
    }
    if (incoming->magic != VSCARD_MAGIC) {
        printf("unexpected magic: got %d, expected %d\n",
            incoming->magic, VSCARD_MAGIC);
        return -1;
    }
    for (i = 0 ; i < num_capabilities; ++i) {
        capabilities[i] = ntohl(capabilities[i]);
    }
    /* Future: check capabilities */
    /* remove whatever reader might be left in qemu,
     * in case of an unclean previous exit. */
    send_msg(VSC_ReaderRemove, VSCARD_MINIMAL_READER_ID, NULL, 0);
    /* launch the event_thread. This will trigger reader adds for all the
     * existing readers */
    rv = pthread_create(&thread_id, NULL, event_thread, NULL);
    if (rv < 0) {
        perror("pthread_create");
        return rv;
    }
    return 0;
}
开发者ID:BernardXiong,项目名称:qemu,代码行数:37,代码来源:vscclient.c


示例6: ACE_TMAIN

int
ACE_TMAIN (int, ACE_TCHAR *[])
{
  long pid = long (ACE_OS::getpid ());

  ACE_Typed_SV_Message_Queue<Message_Data> msgque (key_t (SRV_KEY));

  Message_Data msg_data (pid,
                         ACE_OS::cuserid (static_cast<char *> (0)),
                         "did you get this?");

  ACE_Typed_SV_Message<Message_Data> send_msg (msg_data,
					       SRV_ID,
					       msg_data.length ()),
					       recv_msg (pid);

  if (msgque.send (send_msg) < 0)
    ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT ("%p\n"),
                       ACE_TEXT ("msgque.send")), 1);

  if (msgque.recv (recv_msg) < 0)
    ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT ("%p\n"),
                       ACE_TEXT ("msgque.recv")), 1);

  Message_Data &recv_msg_data = recv_msg.data ();

  ACE_DEBUG ((LM_DEBUG,
              ACE_TEXT ("a message of length %d")
              ACE_TEXT (" received from server %d")
              ACE_TEXT (" (user %C): %C\n"),
              recv_msg_data.length (),
              recv_msg_data.pid (),
              recv_msg_data.user (),
              recv_msg_data.text ()));

  return 0;
}
开发者ID:azraelly,项目名称:knetwork,代码行数:37,代码来源:TMQ_Client.cpp


示例7: init_draw_graph_u

int init_draw_graph_u(sym_environment *env)
{
   if (env->par.do_draw_graph){ /*start up the graphics window*/
      int s_bufid;
      if (env->par.dg_machine_set){
	 spawn(env->par.dg_exe, (char **)NULL, env->par.dg_debug | TaskHost,
	       env->par.dg_machine, 1, &env->dg_tid);
      }else{
	 spawn(env->par.dg_exe, (char **)NULL, env->par.dg_debug, (char *)NULL, 1,
	       &env->dg_tid);
      }
      s_bufid = init_send(DataInPlace);
      send_char_array((char *)&env->par.dg_par, sizeof(dg_params));
      send_msg(env->dg_tid, DG_DATA);
      freebuf(s_bufid);

#ifdef USE_SYM_APPLICATION
      if (env->dg_tid)
	 CALL_USER_FUNCTION( user_init_draw_graph(env->user, env->dg_tid) );
#endif
   }

   return(FUNCTION_TERMINATED_NORMALLY);
}
开发者ID:jkravets,项目名称:ProjectEuler,代码行数:24,代码来源:master_wrapper.c


示例8: gdbr_kill_pid

bool gdbr_kill_pid(libgdbr_t *g, int pid) {
	char *cmd;
	int ret;
	size_t buffer_size;

	if (!g || !g->sock || !g->stub_features.multiprocess) {
		return false;
	}
	reg_cache.valid = false;
	g->stop_reason.is_valid = false;

	buffer_size = strlen (CMD_KILL_MP) + (sizeof (pid) * 2) + 1;
	cmd = calloc (buffer_size, sizeof (char));
	if (!cmd) {
		return false;
	}

	if ((snprintf (cmd, buffer_size, "%s%x", CMD_KILL_MP, g->pid)) < 0) {
		free(cmd);
		return false;
	}
	ret = send_msg (g, cmd);
	free(cmd);
	if (ret < 0) {
		return false;
	}

	read_packet (g, false);
	if ((ret = send_ack (g)) < 0) {
		return false;
	}
	if (strncmp (g->data, "OK", 2)) {
		return false;
	}
	return true;
}
开发者ID:jroimartin,项目名称:radare2,代码行数:36,代码来源:core.c


示例9: NodeManager_notify_vm_started

/* Called from VM Monitor */
int NodeManager_notify_vm_started(
    char        *node_addr,
    char        *vmmon_addr,
    char        *theater )
{
    int retval = 0;
    NodeMessage *msg;

    Dbg_printf( NODE, INFO, "node_addr=%s, vmmon_addr=%s, theater=%s\n",
                node_addr, vmmon_addr, theater );

    msg = node_alloc_msg( NodeMessageID_NOTIFY_VM_STARTED );
    node_set_notify_vm_started_msg( msg, vmmon_addr, theater );

    if (send_msg( node_addr, NULL, msg ) < 0) {
        Dbg_printf( NODE, ERROR, "node_send_msg, node_addr=%s, msg=%s failed\n", 
                    node_addr, node_msgid2str( msg->msgid ) );
        retval = -1;
    }

    node_dealloc_msg( msg );

    return retval;
}
开发者ID:RPI-WCL,项目名称:COS-in-C,代码行数:25,代码来源:NodeManager.c


示例10: ERROR

int UnixSocketAdapter::send(const AmSipRequest &req, string &src, string &dst)
{
  if (! isComplete(req)) {
    ERROR("can not send request: not complete.\n");
    return -1;
  }

  string rplAddr;
  string msg;
  int timeout;
  if (req.method == "CANCEL") {
    rplAddr = "/tmp/" + AmSession::getNewId();
    msg = serialize_cancel(req, rplAddr);
    timeout = 50000; /*TODO: WTF's with this value?!*/
  } else {
    rplAddr = src;//AmConfig::ReplySocketName;
    msg = serialize(req, rplAddr);
    /* timeout: don't wait for reply [comes through other, 
     * dedicated socket] */
    timeout = 0;
  }

  return send_msg(msg, rplAddr, dst, timeout);
}
开发者ID:BackupTheBerlios,项目名称:sems-svn,代码行数:24,代码来源:UnixSocketAdapter.cpp


示例11: NodeManager_destroy_vm_req

int NodeManager_destroy_vm_req(
    char        *node_addr,
    char        *return_cos_addr,
    char        *vm_name )
{
    int retval = 0;
    NodeMessage *msg;

    Dbg_printf( NODE, INFO, "node_addr=%s, return_cos_addr=%s, vm_name=%s\n", 
                node_addr, return_cos_addr, vm_name );

    msg = node_alloc_msg( NodeMessageID_DESTROY_VM_REQ );
    node_set_destroy_vm_req_msg( msg, vm_name );

    if (send_msg( node_addr, return_cos_addr, msg ) < 0) {
        Dbg_printf( NODE, ERROR, "node_send_msg, node_addr=%s, return_cos_addr=%s, msg=%s failed\n", 
                    node_addr, return_cos_addr, node_msgid2str( msg->msgid ) );
        retval = -1;
    }

    node_dealloc_msg( msg );

    return retval;
}
开发者ID:RPI-WCL,项目名称:COS-in-C,代码行数:24,代码来源:NodeManager.c


示例12: Test2b

/*
 *    Test2b
 *
 *    Sending thread of test2b
 */
static void Test2b( void ) {

	pthread_t t1;
	char * msg = "Test2b Burst Send Non-Blocking / Receive Blocking";
	int recv_count = 0;
	int send_count = 0;

	TEST_INTRO( "Send Blocking Test" );

	if (pthread_create ( &t1, NULL, &test2b_thread, NULL ) != 0) {
		printf("Failed to create test2b_thread t1!\n");
		FAILURE_EXIT();
	}

	usleep(100000);

	burst_send( msg, MAX_QUEUE_SIZE, MBX_NON_BLOCKING, NOISY, ON_FAILURE_EXIT );
	send_count += MAX_QUEUE_SIZE;

	usleep(10000);

	send_msg( msg, MBX_BLOCK, NOISY, ON_FAILURE_EXIT );
	send_count += 1;

	pthread_join( t1, (void*)&recv_count );

	printf("Thread 0 sent %d messages\n",send_count);
	printf("Thread 1 received %d messages\n",recv_count);

	if (recv_count != send_count) {
		FAILURE_EXIT();
	}

	TEST_CLOSING();

}
开发者ID:junl,项目名称:school-homework,代码行数:41,代码来源:test2.c


示例13: campareGameMoney

bool campareGameMoney(Hero *hero,long _gameMoney)		//判断游戏币是否够用
{
	Money *money=hero->getMoney();
	if (money==NULL)								//money类为空 返回false;
	{
		return false;
	}
	if (_gameMoney<0)								//使用的游戏币为负数,返回false
	{
		cout<<"jolly:you can increase a negative number money_operator 228"<<endl;
		return false;
	}
	
	if ((money->money_getGameMoney()-_gameMoney)<0)
	{
		msg_error(g_out_buf,1);
		send_msg(hero->getFd(),g_out_buf);
		return false;
	}
	else
	{
		return true;
	}
}
开发者ID:cirosantilli,项目名称:netWork-fork,代码行数:24,代码来源:money_operator.cpp


示例14: increaseGameMoney

bool increaseGameMoney(Hero *hero,long _gameMoney)	//增加游戏币
{	
	Money *money=hero->getMoney();
	if (money==NULL)								//money类为空 返回false;
	{
		return false;
	}
	if (_gameMoney<0)								//增加的游戏币为负数,返回false
	{
		cout<<"jolly:you can increase a negative number money_operator 210"<<endl;
		return false;
	}
	
	money->money_increaseGameMoney(_gameMoney);
	money->money_inform(g_out_buf,sizeof(g_out_buf));
	send_msg(hero->getFd(),g_out_buf);				//发送增加游戏币之后的金币状态	
	
	// 增加获得货币写日志功能,jolly 2012 12 17 start
	char account_msg[1024]={'\0'};
	sprintf(account_msg,"%d,%d,%s,%d,%s,%s,%ld,%ld",3,0,server_name,(int)myTime.tv_sec,hero->getIdentity(),hero->getNickName(),money->money_getGameMoney(),_gameMoney);
	write_log(account_msg);	
	// 增加获得货币写日志功能,jolly 2012 12 17 end
	return true;
}
开发者ID:cirosantilli,项目名称:netWork-fork,代码行数:24,代码来源:money_operator.cpp


示例15: campareGold

bool campareGold(Hero *hero,long _gold)		//判定元宝是否够用
{
	Money *money=hero->getMoney();
	if (money==NULL)							//money类为空 返回false;
	{
		return false;
	}
	if (_gold<0)								//比较的元宝为负数,返回false
	{
		cout<<"jolly:you can increase a negative number money_operator 177"<<endl;
		return false;
	}	

	if (_gold>money->money_getGold())				//比较的元宝大于了自身的元宝,则提示充值
	{
		snprintf(g_out_buf,sizeof(g_out_buf),"%d,%d,%ld",9,MONEY_NOT_ENOUGH,_gold-money->money_getGold());
		send_msg(hero->getFd(),g_out_buf);
		return false;
	}
	else
	{
		return true;
	}	
}
开发者ID:cirosantilli,项目名称:netWork-fork,代码行数:24,代码来源:money_operator.cpp


示例16: client_init

int client_init(void)
{
/*
    if(argc<2)
    {
    
         printf("\n");
         printf("sorry,your type is wrong\n");    
         printf("usage: %s x.x.x.x(server ip)\n",argv[0]);
         exit(EXIT_FAILURE);
    }
*/
    if((client_sock = socket(AF_INET, SOCK_DGRAM, 0))< 0)
    {
       fprintf(stderr,"%s\n",strerror(errno)) ;
       exit(EXIT_FAILURE);
    
    }
    else
    {
         printf("create socket ok !\n");
    }



    bzero(&server, sizeof(server));

    server.sin_family = AF_INET;
    server.sin_port = htons(SERVER_PORD);
    server.sin_addr.s_addr = inet_addr("10.1.14.39");

    server_len = sizeof(server);
    send_msg(0,0);
    return 0;

}
开发者ID:guoyanxiao1991,项目名称:five-chess,代码行数:36,代码来源:client.c


示例17: ctrl_g_defence_original

void ctrl_g_defence_original()
{
	char buf[200];
	if (RINFO.turn==mypos&& (PINFO(mypos).flag & PEOPLE_ALIVE))
	{
		if (PINFO(mypos).flag & PEOPLE_BAD)
		{
			if (RINFO.voted[mypos]!=-2)
			{
				sprintf (buf, "\33[31m你想崩溃了\33[m");
				RINFO.voted[mypos]=-2;
			}
			else
			{
				sprintf(buf,"\33[31m你不想崩溃了\33[m");
				RINFO.voted[mypos]=-1;
			}
		}
		else
			sprintf(buf,"不能崩溃");
		send_msg(mypos,buf);
		kill_msg(mypos);
	}
}
开发者ID:marvelliu,项目名称:lilacsrc,代码行数:24,代码来源:ctrlg.c


示例18: mu_signal_process

void mu_signal_process(char *command, int signal)
{
	unsigned short	slen;
	int		len, toprocess_id, save_errno;
	char		buff[256];
	error_def(ERR_MUPCLIERR);
	error_def(ERR_MUPIPSIG);

	slen = sizeof(buff);
	if (!cli_get_str("ID", buff, &slen))
		mupip_exit(ERR_MUPCLIERR);
	len = slen;
	toprocess_id = asc2i((uchar_ptr_t)buff, len);
	if (toprocess_id < 0)
	{
		util_out_print("Error converting !AD to a number", FLUSH, len, buff);
		mupip_exit(ERR_MUPCLIERR);
	} else
	{
		if (-1 == kill(toprocess_id, signal))
		{
			save_errno = errno;
			util_out_print("Error issuing !AD to process !UL: !AZ", FLUSH,
				       LEN_AND_STR(command), toprocess_id, STRERROR(errno));
		} else
		{
			util_out_print("!AD issued to process !UL", FLUSH, LEN_AND_STR(command), toprocess_id);
			if (!MEMCMP_LIT(command, STOP_STR))
			{
				send_msg(VARLSTCNT(9) ERR_MUPIPSIG, 7, LEN_AND_STR(command), signal, process_id, process_id,
					 toprocess_id, toprocess_id);
			}
		}
	}
	return;
}
开发者ID:5HT,项目名称:mumps,代码行数:36,代码来源:mu_signal_process.c


示例19: soon

void		soon(int cs)
{
	char				buf[1024];
	int					r;
	char				*home;

	home = get_pwd();
	while ((r = read(cs, buf, 1023)) > 0)
	{
		buf[r - 1] = '\0';
		ft_printf("received %d bytes: [%s]\n", r, buf);
		if (!ft_strcmp(buf, "ls"))
			ft_ls(cs);
		else if (!ft_strcmp(buf, "pwd"))
			send_msg(cs, get_pwd(), 0);
		else if (!ft_strncmp(buf, "cd ", 3) || !ft_strcmp(buf, "cd"))
			ft_cd(cs, buf, home);
		else if (!ft_strcmp(buf, "quit"))
			break ;
		else
			send_error(cs, "invalid_cmd");
		ft_bzero(buf, 1024);
	}
}
开发者ID:BenjaminRepingon,项目名称:ft_p,代码行数:24,代码来源:serveur.c


示例20: NodeManager_notify_low_cpu_usage

int NodeManager_notify_low_cpu_usage(
    char        *node_addr,
    char        *vmmon_addr,
    double      cpu_usage_history[CPU_USAGE_HISTORY_LEN] )
{
    int retval = 0;
    NodeMessage *msg;

    Dbg_printf( NODE, INFO, "vmmon_addr=%s, cpu_usage_history[0]=%lf\n",
                vmmon_addr, cpu_usage_history[0] );

    msg = node_alloc_msg( NodeMessageID_NOTIFY_LOW_CPU_USAGE );
    node_set_notify_cpu_usage_msg( msg, vmmon_addr, cpu_usage_history );

    if (send_msg( node_addr, vmmon_addr, msg ) < 0) {
        Dbg_printf( NODE, ERROR, "send_msg, node_addr=%s, msg=%s failed\n", 
                    node_addr, node_msgid2str( msg->msgid ) );
        retval = -1;
    }

    node_dealloc_msg( msg );

    return retval;
}
开发者ID:RPI-WCL,项目名称:COS-in-C,代码行数:24,代码来源:NodeManager.c



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


鲜花

握手

雷人

路过

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

请发表评论

全部评论

专题导读
上一篇:
C++ send_negotiation函数代码示例发布时间:2022-05-30
下一篇:
C++ send_message函数代码示例发布时间: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