gpt4 book ai didi

c - C 中的线程; TCP聊天程序

转载 作者:行者123 更新时间:2023-11-30 19:44:25 24 4
gpt4 key购买 nike

我正在学习信息安全,4 周前我们需要编写一个小工具,可以通过 TCP 在 2 台 PC 之间进行通信。我现在有假期,我想使用是时候将这个小东西构建成聊天程序了。

我很确定我需要线程,因为我需要监听一直收到消息,而 recvfrom 阻止我发送消息当它等待新消息时。

所以我的想法是我需要 2 个独立的线程,一个用于监听,一个用于发送,这样我就有了这种“实时聊天的感觉”。

我已经读过这 3 篇文章 The Geek Stuff Thread Tutorial但这对我没有任何帮助。我无法找到对此事的良好解释我真的很想自己做,因为我很兴奋第一次产生有用的东西。

你们知道这方面有什么好的 C 教程链接吗?抱歉我的英语不好,我现在真的很累。

编辑:我刚刚发现在这里请求场外资源被认为是偏离主题的。

我目前遇到的具体问题是,我不确定如何实现一个除了调用recvfrom并将收到的消息放入std.out并继续监听之外什么也不做的线程。我已经有这个代码:

    while(loop){
/* ~~ RECVFROM ~~ */
printf(YELLOW"@"COLOR_RESET"Waiting for Client-Message!\n");
sizer = recvfrom(udpsocket,msg,512,0,(struct sockaddr*) &destaddr,&addrsize);
if(sizer==-1){
perror("recvfrom");
return 0;
}else{
printf(GREEN">%s\n"COLOR_RESET,msg);
}
/* ~~ ~~~~~~~~ ~~*/
if((*(msg)=='-')&&(*(msg+1)=='x')){
loop=0;
}
memset(msg,'\0',512);
}

我需要一些帮助将其放入线程中,我可以查找其他所有内容,我只需要一些帮助来开始。

先谢谢大家了!

最佳答案

这是a complete manual !如果您确实需要使用线程,我希望这会像对我一样有所帮助。

关于c - C 中的线程; TCP聊天程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28245932/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com