1、socket的核心思想是,作為服務(wù)器間的進(jìn)程間通信的最底層的實(shí)現(xiàn),常用的大部分網(wǎng)絡(luò)協(xié)議都是基于socket實(shí)現(xiàn)。


2、socket 是如何與最終的低層收發(fā)包建立聯(lián)系的?
3、socket 是如何與VFS建立關(guān)系的?
4、TIPC與socket的關(guān)系。
5、Socket與EPOLL之間的關(guān)系
因?yàn)閷?duì)于服務(wù)器端程序而言,可以同時(shí)接受很多客戶端的socket連接,那么,必須實(shí)現(xiàn)并行處理的機(jī)制,常用的方法是多進(jìn)程,也就是說,服務(wù)器端的socket一旦建立連接后,立即生成一個(gè)新的進(jìn)程與客戶端之間進(jìn)行后續(xù)socket處理,原先的socket繼續(xù)監(jiān)聽新的客戶端請(qǐng)求,那么,此時(shí)就存在一個(gè)問題,那么多的客戶端socket, 哪些有數(shù)據(jù)接收到了呢? 傳統(tǒng)的方法是輪詢,這個(gè)效率臺(tái)低,于是使用epoll機(jī)制,只有在真正有數(shù)據(jù)待處理時(shí)才會(huì)產(chǎn)生事件。于是提高了處理效率。
二、socket編程舉例:
1. windows socket, linux socket, python socket, linux shell socket編程。
windows socket編程
2. Linux shell socket編程舉例
(1)字符串交互
服務(wù)器端: nc -l 1234 -----> 表示在本地的1234端口上啟動(dòng)socket監(jiān)聽。
客戶端: nc 192.168.248.156 1234 ---> 表示連接到服務(wù)器的1234端口。
然后客戶端在shell上輸入的內(nèi)容,就會(huì)顯示在服務(wù)器端的shell 命令中,同理,服務(wù)器在shell中輸入的內(nèi)容會(huì)顯示在客戶端的shell中。
下面是服務(wù)器端的命令:

在客戶端上,輸入如下命令:

(2)傳文件
與上述服務(wù)器端類似,把服務(wù)器端和shell重定向相結(jié)合,將接收到的內(nèi)容保存到文件,而客戶端直接發(fā)送一個(gè)文件,即可完成文件的傳輸。

下面是客戶端程序:

分享名稱:Linux網(wǎng)絡(luò)編程--socket-創(chuàng)新互聯(lián)
本文地址:http://chinadenli.net/article34/eodpe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供響應(yīng)式網(wǎng)站、網(wǎng)站維護(hù)、網(wǎng)站內(nèi)鏈、靜態(tài)網(wǎng)站、網(wǎng)站策劃、自適應(yīng)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容