[爆卦]c# websocket範例是什麼?優點缺點精華區懶人包

為什麼這篇c# websocket範例鄉民發文收入到精華區:因為在c# websocket範例這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者darkness0727 (72727)看板java標題[問題]Websocket應用於讀卡機疑...


小的最近因為工作要求要去了解讀卡機的程式

目標是能夠用於雲端管理系統前置的讀卡作業
帶出卡片資訊
帶入持有者卡片相關資料和系統作業

沒想到越看頭越炸 因為發現似乎限制和問題要處理很多
以早期常見的處理方式建置java applet
因為Web 雲端管理系統本身就具備跨瀏覽器和不同OS系統(MAC..)的要求
所以假如以走早期的方式
會變成還要注意
1.客戶端的java版本
2.32 or 64 位元問題
3.讀卡機本身的驅動起碼也要能支援MAC..
4.applet 簽證被甲骨文惡搞要錢...
林林總總很多狀況

後來焦頭爛耳之際認識的資深工程師跟我提了(Spring) WebSocket這個方式
小弟去找到了http://gca.nat.gov.tw/download/ndc_meeting.pdf
然後追到去憑證管理中心抓了範例程式來看
發現似乎政府本身也只是初期做一做樣子而已

請問一下各位先進 是否有人能提點一下
小弟的以下問題:
1.websocket技術用於讀卡機是否就是使用者只要上瀏覽器
再連接讀卡機直接就可以直接讀取卡片?
2.這個技術需要讀卡機具備什麼?

因為小弟以前從來沒有接觸這個領域相關的技術應用,都在寫spring框架相關全端開發
純粹就只是個比較會種田的碼農,問了什麼太蠢的內容請多包涵O_O



--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 175.96.228.94
※ 文章網址: https://www.ptt.cc/bbs/java/M.1459135239.A.EA1.html
Lordaeron: webscoket 用TCP 開讀卡機? 03/28 12:57
Lordaeron: 有點仙呢. 03/28 12:57
ssccg: 簡單來說這個作法是要使用者裝client端程式,在client電腦 03/28 13:03
ssccg: 上開一個web/websocket server,然後網頁連localhost 03/28 13:04
ssccg: 去作業,因為現在的潮流是browser不給外掛 03/28 13:04
ssccg: 讀卡機沒差,client端程式用一般client端作法去連讀卡機 03/28 13:06
ssccg: 你找到的資料說的Websocket API是憑證中心的那個程式中的 03/28 13:08
ssccg: localhost server要開的API,不是有個標準API 03/28 13:08
ssccg: 也沒有一定要用websocket,http也可以做 03/28 13:09
謝謝回覆 那麼假如我需要最簡單化的能夠讓client端user進入網頁後就能夠在client端
讀卡機取得資訊和系統頁面介接發送資訊去後台 是否有甚麼關鍵字可以參考

※ 編輯: darkness0727 (175.96.228.94), 03/28/2016 13:50:46
Lordaeron: 果然是個好主意,有趣. 03/28 15:54
now99: 跟讀卡機溝通就沒辦法了 03/28 19:09
pttnews: 網頁URL是遠端, 然後websocket讀本地端, 可以這樣做嗎? 03/30 13:43
pttnews: JS 不是不能跨網域嗎? 03/30 13:44
ssccg: http可以設定CORS header就可以跨網域 03/30 15:07
ssccg: websocket沒有限制,只是browser會傳origin header由server 03/30 15:09
ssccg: 檢查,兩種最終都是由server(本地端這個)決定給不給連 03/30 15:10
ssccg: 當然要怎麼決定呼叫者合不合法就是很大的問題 03/30 15:14
ssccg: 原po的問題,基本上網頁沒有任何直接跟讀卡機通訊的方法 03/30 15:20
ssccg: 瀏覽器不提供的功能,最終都是要在client裝程式自己做,只 03/30 15:27
ssccg: 差在安裝的方式、網頁與程式通訊的方式 03/30 15:28
正如ssccg大所說 目前我是執行到利用https://tyrus.java.net/
這個websocket方案在client端啟動執行
一隻讀取卡片的程式(目前只跑讀取健保卡基本資料)
目前已經本地端測試是可以運作 但是後面應該如ssccg大所說還要排除跨域和驗證等問題
這種做法似乎能組合的是用Java Web Start去驅動這個包起來的小型伺服器程式
不過接下來沒繼續實作包起來的部分了

因為工作上讀卡的目標難以確認要到甚麼程度(看著遠方)
慘一點會需要連大陸的醫保卡 社保卡都要能讀取 或者是要進入醫療的規範還要跟醫事卡
等等的做更複雜的讀卡設計 不過就是因為太複雜很多都沒法確定是不是有這個需求
要執行與否

這幾天team的討論決議後
目前還是先以最單純的applet+讀基本資料就好(雖然我覺得不單純 以現在的趨勢)
謝謝各位先進的回答
小弟嘗試過後也對於為何大部分連接硬體設施讀卡的軟體系統平台大多是用桌上型開發
有比較深的理解
※ 編輯: darkness0727 (223.139.150.212), 03/30/2016 17:14:06
ssccg: 瀏覽器外掛作法網頁開了直接裝,比較單純,缺點是快要被淘 03/30 19:57
ssccg: 汰了還有在行動裝置不能用 03/30 19:58
Lordaeron: MOBILE裝置 讀自然人憑證? 03/30 23:30
沒有要到mobile那麼仙喔 Lordaeron大
MacPerson: 健保卡? 03/31 20:22
MacPerson: 給你個建議 如果你們採用JAVA APPLET 網頁的操作將會 03/31 20:23
MacPerson: 被健保卡讀取速度箝制,等於在讀健保卡期間將無法做任 03/31 20:24
MacPerson: 操作(等於HAND住 醫生會很火大) 你們需要克服這點 03/31 20:24
MacPerson: 就我所知目前較佳解法已如上面大大所述 ,這樣你可以 03/31 20:25
MacPerson: 邊讀寫卡,邊做網頁操作(讓USER感覺很SMOOTH) 03/31 20:25
MacPerson: 我們有失敗經驗,你們可以借鏡.... 03/31 20:27
Lordaeron: 我比較不明白的是, 為何考慮到行動裝置用? 03/31 23:40
now99: 行動裝置也是可以,不過要看讀卡機走usb or 藍芽 or 音頻 04/01 00:04
now99: 接口 04/01 00:04
ssccg: 行動裝置只是順便提一下,這也是外掛越來越少用的原因之一 04/01 02:00
小的講的更明白些好了 基本上小弟查詢後發現applet作法的確不是最好的處理方式
以現在的潮流而言 這個也是步入淘汰的作法 從政府開始要改善就知道了
本身是打算寫兩個方案
一個是拿來報告應付用的applet 單純讀健保卡基本資料
因為後續要更進階要考量很多實務上的經驗 但是我們團隊還沒有很好的領航者
另外一個就是在這次研究過程想實踐的微型web socket server包在java web start內
當然ssccg大提到的http server也有概念些
小的也有去跟在網路上找到的"養鴨宗師"了解了一下方向(應該大致上沒錯)
總而言之 假如小弟參與的是一個桌上型的java整合硬體應用專案
應該在這方面的問題就沒那麼複雜 這也是大多醫院所內部系統不雲端化的主因之一
小的先前並無在醫療相關體系有工作經驗 這次的經歷起碼讓我知道
1.java applet對於開發者的困擾
2.java web start的概念
3.現今大多瀏覽器停止applet後對於部分產業的影響
4.為何國內還是一堆IE only讀卡
此外另外提一個很有趣的論點 在大陸地區寫這種整合讀卡的內部醫療(HIS等)系統
整理而來的大多還是不會用java開發 似乎跟穩定性和介面複雜度有關
這沒有貶低java的意思 是在大陸一個醫思論壇整理得來得資訊
那兒的同胞似乎覺得用java開發出一個桌上型醫療管理系統是非常神奇的事情XD


※ 編輯: darkness0727 (175.96.230.73), 04/01/2016 11:42:24
Lordaeron: web 跟card reader 溝通, 要是哪堆什麼XXAPI不能用了 04/01 14:19
Lordaeron: 哪只好就SOCKET囉, 不然得用專用BROWSER. BUT... 04/01 14:20
Lordaeron: 像自然人憑證,還要CHT 幫忙才行. 但搞哪麼多,要不要考 04/01 14:20
Lordaeron: 直接APP 做就好, 搞個不三不四. 另外APPLET SIGN 我 04/01 14:21
Lordaeron: 記得不用錢啊. 04/01 14:21
Lordaeron: 致於像now99講的, 真的來個行動裝置讀卡, 感覺得手機寫 04/01 14:26
Lordaeron: 論文一樣的無言. 04/01 14:26
dream1124: 客戶端領域的確不是java的強項 04/02 21:59
janice001: 科科 04/03 21:47
MonyemLi: 純ms平台讀取資源,java其實多一層,不如用c# 04/08 01:55
MonyemLi: 而且你不是要雲端嘛,怎麼後面敘述是桌上型. 04/08 01:56
MonyemLi: 桌上型swt掛瀏覽器+java card組合用就好 04/08 01:58
darkness0727: 內部醫療系統大多是桌上型開發 頗少用JAVA寫 04/08 11:53
darkness0727: 沒有雲端跳Tone桌上型的意思 04/08 11:53

你可能也想看看

搜尋相關網站