在Ubuntu下搭建C/C++编程环境

详细的可以参考博客(Shine_zy),非常的全面,还有在Linux(Ubuntu版)下编写运行C语言程序的博客主AlfredM写的也非常不错 。

vim+gcc+gdb
vim编辑文本,gcc用以程序编译,gdb用于代码调试
Ctrl+Alt+T打开终端输入sudo apt - get install build-essential

新建文件夹mkdir
更改当前的工作目录cd
执行vi test.c
gcc test.c -o test 和./test编译生成的文件并运行
那么在linux下socket编程实现一个服务器连接多个客户端要怎么实现呢
使用sockt通信一般步骤

  1. 服务器端:socket()建立套接字,绑定并监听(listen),用accept()等待客户端链接

  2. 客户端:socket()建立套接字,链接服务器,链接上后用send()和recv(),在套接字上写读数据,直到数据交换完毕,close()关闭套接字
    不过在linux当中,我们可以用select函数实现I/O端口的复用,传递给select函数的参数会告诉内核:

  3. 我们所关心的文件描述符

  4. 对每一个描述符我们所要关心的状态(读或写,或者看是否出现异常)

  5. 我们要等待多长时间
    **有了这些返回信息,我们就可以调用合适的I/O函数并且不会阻塞
    **
    select函数原型
    int select(int maxfds,fd_setreadfds,fd_setwritefds,fd_set*exceptfds,struct timeval *timeout);

    select
    函数系统调用用来让我们程序监视多个文件句柄的状态变化,程序等待并返回做好准备的文件描述符的个数

更多具体内容见linux下的socket编程实现一个服务器链接多个客户端(Spechar).

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值