C中的线程; Tcp聊天程序
Threads in C; Tcp Chat Programm
我正在学习 InfoSec,4 周前我们需要编写一个可以通过 tcp 在两台 PC 之间进行通信的小工具。我现在有假期,我想使用
是时候将这个小东西构建到聊天程序中了。
我很确定我需要线程,因为我需要听
一直收到消息,recvfrom 阻止我发送消息
在等待新消息时。
所以我的想法是我需要 2 个单独的线程,一个用于监听,一个用于发送,所以我有这个 "realtime chat feeling"。
我已经阅读了这 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,'[=10=]',512);
}
我需要一些帮助将它放入一个线程中我可以查找其他所有内容,我只需要一些帮助开始那里。
提前谢谢大家!
这里是a complete manual !如果您真的需要使用线程,我希望这对我有所帮助。
我正在学习 InfoSec,4 周前我们需要编写一个可以通过 tcp 在两台 PC 之间进行通信的小工具。我现在有假期,我想使用 是时候将这个小东西构建到聊天程序中了。
我很确定我需要线程,因为我需要听 一直收到消息,recvfrom 阻止我发送消息 在等待新消息时。
所以我的想法是我需要 2 个单独的线程,一个用于监听,一个用于发送,所以我有这个 "realtime chat feeling"。
我已经阅读了这 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,'[=10=]',512);
}
我需要一些帮助将它放入一个线程中我可以查找其他所有内容,我只需要一些帮助开始那里。
提前谢谢大家!
这里是a complete manual !如果您真的需要使用线程,我希望这对我有所帮助。