C语言 写一个tcp的server和client程序问题 麻烦帮我看看(急!!!)
题目写一个tcp的server和client程序server端,能接收多个不同的客户端连接,print出来接收到的信息,对端的ip,并且每接收到一个就原样回复回去2.cl...
题目
写一个tcp的server和client程序
server端,
能接收多个不同的客户端连接,print出来接收到的信息,对端的ip,并且每接收到一个就原样回复回去
2.client端
开两个线程
分别连接客户端
第一个线程每5秒发送 “this is thread 1\n”
第二个线程每3秒发送 “this is thread 2\n”
另外,server端可能死掉,就是中途kll掉,再启动,客户端应该继续正常工作
两个问题
怎么实现
第一个线程每5秒发送 “this is thread 1\n”
第二个线程每3秒发送 “this is thread 2\n”
创建线程的时候,调用线程处理函数 怎么才能停的发送“this is thread ” 线程处理函数中用循环么?如果用循环 两个线程怎么相互切换?
2.server端可能死掉,就是中途kll掉,再启动 是什么意思?怎么实现?
怎么好用代码讲解 谢谢 展开
写一个tcp的server和client程序
server端,
能接收多个不同的客户端连接,print出来接收到的信息,对端的ip,并且每接收到一个就原样回复回去
2.client端
开两个线程
分别连接客户端
第一个线程每5秒发送 “this is thread 1\n”
第二个线程每3秒发送 “this is thread 2\n”
另外,server端可能死掉,就是中途kll掉,再启动,客户端应该继续正常工作
两个问题
怎么实现
第一个线程每5秒发送 “this is thread 1\n”
第二个线程每3秒发送 “this is thread 2\n”
创建线程的时候,调用线程处理函数 怎么才能停的发送“this is thread ” 线程处理函数中用循环么?如果用循环 两个线程怎么相互切换?
2.server端可能死掉,就是中途kll掉,再启动 是什么意思?怎么实现?
怎么好用代码讲解 谢谢 展开
2个回答
展开全部
线程函数里使用循环可以实现不停的发每发一次sleep(5000);5秒然后再次循环。你创建两个线程 之后运行线程即可,线程的运行切换由操作系统CPU自己调度,不用手动切换,记住现在的操作系统都是多线程抢占式的。
如果Server端死掉,客户端会捕获到一个服务退出的异常,你可以根据异常来处理。
至于代码,百度下,很多。
希望能帮到你,感谢!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
第一个问题:(我当你是Unix系统了)
用pthread_create创建线程在第一个线程中sleep 5秒send消息,第二个sleep 3秒send消息,while循环,(CPU会自己切换时间片的,你试试就知道了)
第二个问题:
如果server挂了,客户端消息发送函数send的返回值会为-1,你可以接受send的返回值,如果为-1,你可以等待几秒后从新连接服务器,再发送。
当然你想逻辑设计的很复杂就少不了条件变量与互斥了。
用pthread_create创建线程在第一个线程中sleep 5秒send消息,第二个sleep 3秒send消息,while循环,(CPU会自己切换时间片的,你试试就知道了)
第二个问题:
如果server挂了,客户端消息发送函数send的返回值会为-1,你可以接受send的返回值,如果为-1,你可以等待几秒后从新连接服务器,再发送。
当然你想逻辑设计的很复杂就少不了条件变量与互斥了。
更多追问追答
追问
pthread_create创建出来第一个线程while()之后 还会切换到主函数中去pthread_create第二个线程么?
追答
为什么不会,线程是并行的啊!以你的逻辑,只要你启动一个程序后,这个程序没结束,别的程序就没办法运行了,不可能啊!
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询