读书人

循序渐进学unix下机记录(七),so

发布时间: 2012-12-29 10:28:09 作者: rapoo

循序渐进学unix——上机记录(七),socket

本次的主题是基本网络编程:socket,涉及到的概念比较多,就不详细展开了。从编程角度简单的说,为了在客户端和服务器之间建立一个连接,服务器端需要依次调用这些函数:

    socket,获得一个socketbind,将获得的socket绑定到指定的地址和端口listen,让此socket进入等待状态,等待客户端的连接accept,当建立起与客户端之间的连接时,此函数返回代表此连接的socket。即类似于文件描述符,我们可以把客户端看作文件,向网络上进行读写操作,从而完成通信过程。
客户端需要调用的函数:
    socketconnect,向指定地址的服务器的指定端口发起连接
服务器和客户端都需用到的通信函数:
    sendrecv
详细信息和函数方法等就不赘述了,请参见man 文档。
下面来看几道练习。1. 从客户端把用户输入的信息发送到服务器,直到用户输入“over”。这是一道基础题,直接上代码了。server:
administrateur@ordicentre:~/Bureau/POLYTECH/unix/TD UNIX2012/td6$ ./4syntaxe : ./4 numPortadministrateur@ordicentre:~/Bureau/POLYTECH/unix/TD UNIX2012/td6$ ./4 9999New socket client : 127.0.0.1New cmd received : lsNew cmd received : sudo find / -name "socket.h"[sudo] password for administrateur: New cmd received : date

可以看出server先后收到的所有命令。另外,由于重定向是在子进程中做得,所以要求输入密码的那行并没有发送给客户端而是在本地显示了。



读书人网 >UNIXLINUX

热点推荐