基于Linux的Socket网络编程的性能优化

时间:2009-10-20来源:网络

3.2 Socket编程流程
Socket编程采用客户/服务器模式。因此编程分为服务器端和客户端两部分。
每一个Socket都用一个半相关描述(协议,本地地址,本地端口)来表示,Socket也有一个类似于文件打开的函数,该函数返回一个整型的Socket描述符,随后建立连接,数据传输等操作都通过Socket来实现。
编程流程如下:服务器端首先建立Socket,返回该Socket的描述符:配置Socket的端口和IP地址;建立监听甬数,检测是否有客户端向服务器发送请求,若有则接收该请求,将其放到接收队列中:从接收队列中接受一个请求;并向客户端发送确认连接信息。
客户端建立一个Socket,返回该Socket的描述符;配置Socket端口和IP地址;向服务器发送连接请求,并接收服务器发回的确认连接信息。双方通信结束后,关闭其Socket。进行Socket编程的基本函数有socket(),bind(),listen(),accept(), connect(),send(),recv(),close()。图3为Socket的编程流程图。

3.3 程序的编译和运行结果
(1)在Linux的VI编辑器下编写服务器端程序serv.c和客户端程序clt.c。运用交叉编译工具arm-linux-gcc,执行编译指令生成可执行文件。
其指令为:
#gcc serv.c=0 serv
#gcc clt.c-0 clt
编译没有错误则会生成可执行文件serv和clt。
(2)配置服务器和客户端的IP,保证网络畅通,在serv.c中已将服务器的IP设置为:192.168.2.111。在客户端的“网络设置”中设置IP为:192.168.2.22,可以通过ping命令检测网络是否畅通。
(3)在一台计算机的终端先运行服务器程序(./serv),再在客户端的计算机终端上运行客户端程序(./clt 192.:168.2.1l 1)就会看到结果(Hello,Wang Lei!You are connected!);运行结果如图4和图5所示。如果未运行服务器程序而先运行客户端程序将立即提示“Connect:Connection refused”。

1 2 3 4

关键词: 嵌入式 优化 网络编程 Socket Linux 基于

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版