亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 2192 | 回復(fù): 2
打印 上一主題 下一主題

[C] 服務(wù)器端,如何處理 UDP/TCP來的數(shù)據(jù)... [復(fù)制鏈接]

論壇徽章:
1
2015年辭舊歲徽章
日期:2015-03-03 16:54:15
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2015-04-26 22:21 |只看該作者 |倒序?yàn)g覽
ARM上用LINUX ,查了說了EPOLL效率不錯(cuò),于是用了EPOLL,TCP,UDP都是EPOLL


這是TCP \UDP接到PC發(fā)來指令后,共同調(diào)用的函數(shù),(原來這里封裝有出口,也就說,大家都調(diào)用這個(gè)函數(shù)后,返回值都通過這個(gè)函數(shù)把處理結(jié)果,通過參數(shù)返回來)

現(xiàn)在,同事,不想通過這個(gè)函數(shù)把結(jié)果返回,而是直接在各個(gè)命令處理分支,處理完成后,直接調(diào)用TCP/UDP的發(fā)送,把結(jié)果直接送給PC。。。

那么遇到問題,到各個(gè)分支里,如何確定是用UDP 還是TCP 把結(jié)果送出去呢?

后面可能還有RS232/RS485,都調(diào)用這個(gè)處理函數(shù)...

處理函數(shù):

  1. void Receive_Process(int conn_fd,unsigned char* buff_r)
復(fù)制代碼
服務(wù)器TCP方式,接到PC命令后,調(diào)用函數(shù),是回調(diào)方式的:

  1. //處理PC來的命令包//
  2. if(ProcessCallback)
  3. {
  4.         ProcessCallback(events[n].data.fd, send_data_buffer_size_tcp);
  5. }
復(fù)制代碼
TCP方式在回調(diào)函數(shù)里,發(fā)送結(jié)果:

  1. send(conn_fd, buff_w, 5, 0);
復(fù)制代碼
UDP方式,接受命令后,調(diào)用處理函數(shù):

  1.         Receive_Process(ret,recvbuf);
復(fù)制代碼
UDP 發(fā)送數(shù)據(jù)給PC:
UDP時(shí),F(xiàn)D句柄是個(gè)全局變量;TCP時(shí),是通過回調(diào)把FD句柄傳下去


  1. void udp_send_to_pc(int len,char* buffer)
  2. {
  3.         sendto(new_fd, buffer, len, 0, (struct sockaddr *)&client_addr, cli_len);       
  4.         }
復(fù)制代碼

論壇徽章:
3
2015年辭舊歲徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:032015年亞洲杯之中國(guó)
日期:2015-04-22 15:52:45
2 [報(bào)告]
發(fā)表于 2015-04-27 10:01 |只看該作者
本帖最后由 hanxin83 于 2015-04-27 23:07 編輯

這問題問得不好也不通順. 我來簡(jiǎn)單說兩句.

1. 知道后面用send還是sendto, 這只是問題的一個(gè)小點(diǎn)而已. 你事實(shí)上想知道你當(dāng)前處理的是什么請(qǐng)求, 可能因?yàn)槟愕膗dp和tcp都是處理同樣的請(qǐng)求, 所以并沒有想到區(qū)分fd是哪個(gè)端過來的.
2. epoll是支持網(wǎng)絡(luò)事件發(fā)生時(shí), 帶過來的是什么東西的, 參看一下epoll_event的結(jié)構(gòu)中的那個(gè)聯(lián)合體.
3. 看問題知道樓主對(duì)服務(wù)端編程是不太熟的, 你的tcp服務(wù)的分包考慮過嗎?

不建議你同事自己發(fā), 如果他自己發(fā)包EAGAIN了他怎么處理, 每個(gè)分支搞一下? 都用公用的吧, 所以我就不給出自己發(fā)的建議和解決方案了.
編碼再牛B也得按統(tǒng)一的寫法寫, 何況感覺你同事離牛B還差老遠(yuǎn)一截.

論壇徽章:
1
2015年辭舊歲徽章
日期:2015-03-03 16:54:15
3 [報(bào)告]
發(fā)表于 2015-04-27 20:21 |只看該作者
謝謝回復(fù)呀

可能描述的有問題,,服務(wù)器編程也算是吧,以前都是裸奔,也沒這么復(fù)雜,F(xiàn)在ARM上都跑系統(tǒng)了,也就硬著頭皮上了

我也對(duì)同事的要求無法理解,溝通過,沒效果; 我現(xiàn)在的想法盡量不繼續(xù)參與進(jìn)去,我比較委婉的和老大提了,我說手上工作多,忙不過來...

再拉一個(gè)人進(jìn)項(xiàng)目組...

應(yīng)該不是偷奸;,故意逃跑吧 呵呵,大家都堅(jiān)持的話,就不好進(jìn)展了,總得有人先妥協(xié)。。。

您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國(guó)互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP