想做一个liunx聊天程序,求指导。

dreaming_ 发布于 2013/12/26 15:02
阅读 329
收藏 0

@shewa 你好,想跟你请教个问题:liunx下用c语言写一个程序。现在已经可以做到服务器和一个客户端一对一通信,做法是2者都写一段监听的代码。不知道有没有更好的办法,还有就是我不知道如何让服务器同时接受多个客户请求。这个要怎么做啊? 可能问题会比较多一点。我只有c基础,网络编程是前2天刚开始。如果你比较有空的话,希望你能加一下我的qq1596656669.谢谢。

要求:在Linux系统中实现多人聊天程序设计,分为服务端与客户端两部分。要求服务端能同时接受多个客户端的连接,客户端可与任意其它的客户端进行聊天。



 

注:字符界面即可,客户端可列出当前登录系统的所有用户,然后可向任意一个用户发送消息。



 

加载中
0
shewa
shewa

谢谢邀请,受宠若惊。我也还处于初级阶段。不过,可以给你一点指导。你已经有了c语言的基础,可以了解一些网络编程方面的知识了。

1.客户端和服务器通过socket建立连接。了解socket 的几个主要函数。这个你应该已经做到了。

2.为了实现服务器能同时处理多个客户端的连接,就需要多线程、多进程和异步通信等方面的知识了。具体的,你可以先看看我的那个系列博客。

当然,网络编程方面还有一些权威的书,你可以先大概了解一下。Unix网络编程(卷一).pdf这个是比较权威的。但是内容太多,读起来比较烦。另外一本,国人写的,比较实用,推荐你看一下。Linux高性能服务器编程

0
时间变
时间变
服务器端使用多线程或者多进程来处理请求
0
dreaming_
dreaming_

是用fork吗? 我在找例子看看。

0
duandi
duandi

可以看看《深入理解计算机系统》最后几章

我以前仿照他上面的例子做的一个

http://www.oschina.net/code/snippet_142487_10860


0
雨翔河
雨翔河
你可以直接学习jsp或者php语言,让聊天程序运行在网页上,这样只要能安装浏览器的操作系统就能使用喽,哈哈哈
开源无憾
开源无憾
看楼主的意思,应该是在命令行模式下运行这个程序
0
码不停蹄
码不停蹄
linux程序设计里也有网络编程多客户端的思路
0
yuncliu
yuncliu
man write
0
dreaming_
dreaming_
谢谢大家的回答,这个社区很热情啊。多进程我现在已经用fork()函数完成了。现在在完成其他部分的编程,有问题我会再问的。再次感谢。
返回顶部
顶部