C语言聊天程序

想写个基于C语言的简单聊天程序(控制台程序),C/S模式,实现客户端之间的通信,我想在同一台机子上开2个以上的客户端,像QQ这样,问题是,如果在客户端程序中直接用确定端口号的话,那么两个客户端就是同一IP,同一端口,这是不可以的,现在我想知道怎么实现"动态分配"端口号,比如判断是否有客户端已经运行,如有,则端口号在原来的基础上加一之类的
我的意思是类似QQ的,只是QQ在同一台机子上能开多个客户端,我想知道他是怎么实现端口分配的

我的邮箱是[email protected] 非常感谢!!

老兄,你好!看到你问题,我帮你写好一个(花了我两天啊)!是用纯C语言写的,可是代码太,发不过!
你留个邮箱给我,我发给你

362226180是我的QQ,

你要的功能,我都帮你实现了
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-10-17
不知道你指的C/S模式到底是怎样的一种C/S模式。按理说C/S模式就是客户服务器模式,那么应该是这样的(类似QQ通信方式)。有客户端A、B,服务端C,A若想跟B通信,则A先向C发送消息,C收到消息后再转给B,同理B也是这样跟A通信。当然还有一种情况(估计是你说的那样),那就是客户端既做客户端又做服务端,这样也是可以的,比如你在本机上运行两个这样的程序,P1和P2,P1发送消息给P2,P2通过服务端接收消息,再通过客户端发送出去。
然后就是端口问题,一个Ip可以设立不同端口,比如P1本地端口(即服务器端口)5000,远程端口(即客户端端口)4000,P2本地端口(即服务器端口)4000,远程端口(即客户端端口)5000,这样P1和P2之间可以互发消息。
程序就不写了,理解了其中的原理,实现很简单。
第2个回答  2009-10-13
我只是用C++做过……差不多200行代码~
第3个回答  2009-10-12
提示楼主, 客户端本就是系统分配端口, 服务端才用固定的端口
第4个回答  2019-03-19
我是用C(就是最古老的TC不是C++也不是VC++)编写的单线程聊天程序,用的最初级的socket
API技术,所以免不了会出现堵塞问题。。。惭愧啊。。。你要的话我发给你。。。
相似回答