高手请进,解答就给分

wicket 2006-11-24 03:54:23
2、 在Internet上有两个服务器server1和server2,它们均在TCP的14000端口提供在我们在作业5中实现的“名字查询”服务,编写一客户端程序,要求:
(1) 由用户输入server1和server2的IP地址,采用点分十进制输入
(2) 连接server1和server2:
l 如果先完成的连接成功,则使用这个连接,转到(3)。
l 若先完成的连接不成功,则等待另一个连接完成,如果另一个连接成功,使用另一个连接,转到(3),若仍不成功,转到(7)。
l 若两个连接同时完成,则:(a)两个都成功,则随便挑一个连接使用,关闭另一个,转到(3)。(b)两个都失败,转到(7),(c)一个成功一个失败:使用成功的连接,转到(3)
l 注:在任何情况下跳转之前要分别输出server1和server2的连接状态,格式为“server1 连接成功(或)连接失败(或)连接未完成!”。server2格式相同。在有成功连接可用时要报告使用的是与哪个服务器的连接。
(3) 向第(2)中确定的服务器接收欢迎信息并输出,然后发送查询请求:“3”,然后接收服务器的响应信息并输出。
(4) 发送“0”,接收服务器的欢送信息并输出,然后中止连接。
(5) 如果(2)中有连接尚未完成,则此时等待直至其完成。如果连接成功,断开与其的连接,提示用户“Another server connect success!”。如果连接错误,提示用户“Another server connect fail!”。
(6) 释放资源,退出程序。
(7) 出现任何错误时,提示用户错误信息,然后退出程序,退出前要释放所有该释放的资源。
注:
(1) 不能使用多线程技术。
(2) 提示:使用非阻塞模式和select函数。参考课件chap8关于select函数可写、出错事件的详细描述。connect成功后可恢复为阻塞模式以方便后续操作。
(3) 第(5)步功能选做。

...全文
126 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
captain_x 2006-11-24
  • 打赏
  • 举报
回复
我日

现在这里问作业的怎么连伪装一下公司面试题都懒得装了?
neosu 2006-11-24
  • 打赏
  • 举报
回复
show me the money
wicket 2006-11-24
  • 打赏
  • 举报
回复
全部代码
neosu 2006-11-24
  • 打赏
  • 举报
回复
你要问什么?
wicket 2006-11-24
  • 打赏
  • 举报
回复
希望高手1个钟能给出答案

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧