台灣最大程式設計社群網站
線上人數
1862
 
會員總數:240362
討論主題:186354
歡迎您免費加入會員
討論區列表 >> C# >> socket視訊與文字傳輸問題
[ 變換順序 ]  
[我要回覆]
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
socket視訊與文字傳輸問題
價值 : 50 QP  點閱數:470 回應數:22

樓主

QBB
門外漢
0 22
257 34
發送站內信

請問各位前輩,我有server端可以給client端連入
client端有視訊跟文字個功能,當我開啟client文功能時我的server端會顯示只有一個client連入
但當我測試client端的視訊連入時,他卻是隨時在連入,server端會不斷顯示client端連入
請問文字傳輸跟視訊有甚麼差別嗎? 測試2個視訊功能都是這樣。


搜尋相關Tags的文章: [ socket視訊與文字傳輸的問題 ] ,
本篇文章發表於2017-03-16 19:08
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
回應

春天
檢舉此回應
檢查一下你是不是每次傳送圖片都做了一次Socket.Connect
本篇文章回覆於2017-03-17 09:35
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

QBB
檢舉此回應
下方部份是我傳送影像的部分,有用到direct一些東西,但是我上網查詢他的一些用法,卻不完整
所以我自己沒辦法完全解讀這些 抱歉


本篇文章回覆於2017-03-18 13:14
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
作者回應

QBB
檢舉此回應
請問是船影像的關西嗎?
每要傳一筆資料他就會連入一次然後傳送?
本篇文章回覆於2017-03-18 14:31
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
最有價值解答

春天
檢舉此回應
你試試看把TcpClient宣告成Form1的成員變數

改成

看起來如果每次都產生新的TcpClient執行個體重新連線的話,對Server來說是不同的Client建立連線
本篇文章回覆於2017-03-20 10:09
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
作者回應

QBB
檢舉此回應
你好,這樣修改確實可以
但是反而無法一直傳送資料,他只會傳送一筆後就沒動作了
本篇文章回覆於2017-03-20 17:31
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
回應

春天
檢舉此回應
請用一個While把發送圖片的邏輯包起來

本篇文章回覆於2017-03-20 18:16
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
7樓
作者回應

QBB
檢舉此回應
不好意思,還有我想問一下,下方是我接收對方傳送過來的資料,
如果單純利用自己的C#電腦寫的程式電腦對電腦可裡利用與接收,
但是還有一方開發手機(java),可以看見他有連入我的server,但是PICTUREBOX裡收不到任何團片
是因為傳送的資料不一樣嗎? 我有用另一個視訊測試,他傳的資料不一樣,但是我一樣可以正常接收
開發手機那方就無法正確地接收到他的圖片


本篇文章回覆於2017-03-20 18:22
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
8樓
作者回應

QBB
檢舉此回應
上方我以利用WHILE迴圈包過,但是測試結果還是一樣
只接收到一筆資料
本篇文章回覆於2017-03-20 18:33
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
9樓
回應

春天
檢舉此回應
你的註解不是很清楚了嗎,我再幫你修改一下註解,你就知道哪裡有問題了
1.讓Server等待新的Client連線
2.建立NetworkStream由新的Client傳送過來
3.設置picturebox接收NetworkStream傳送過來的影像
4.Loop

你這樣寫每個Client連線進來之後傳了第一次資料,Server就不再理會這個Client
然後過一陣子Socket new_socket就因為沒有任何引用被C#的CG清除
建議你去找一些Socket的資料來看
Socket
本篇文章回覆於2017-03-21 09:45
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
10樓
作者回應

QBB
檢舉此回應
謝謝你,還有我想請問手機那端傳送過來的資料協定跟PC不同
手機4筆資料才會是電腦的一筆資料,請問這樣我是要在手機方加入delay嗎
還是在接收這方做甚麼改變? 感謝
本篇文章回覆於2017-03-21 15:58
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
11樓
回應

春天
檢舉此回應
具體有什麼網站可以參考手機4筆資料等於電腦1筆資料嗎?
也許弄個byte[] Buffer然後將Stream先存進去,計次四次後再再合倂成一筆資料?
本篇文章回覆於2017-03-21 16:13
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
12樓
作者回應

QBB
檢舉此回應
我是利用PC文字端旁邊再放一個picturebox來顯示手機傳過來的圖片
文字端用意是我想確認跟查看他是否有傳送資料過來
但是我在文字那邊看到它是一次傳4筆資料過來
這樣picturebox就沒辦法顯示了
本篇文章回覆於2017-03-21 16:18
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
13樓
回應

春天
檢舉此回應
這樣子很難判斷,看能不能給程式碼C+S
本篇文章回覆於2017-03-21 17:13
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
14樓
作者回應

QBB
檢舉此回應
請問是server端貼過來嗎
手機那邊是用JAVA寫的
下方程式listip(listbox)是用來看是否有人連入
richText(richtextbox)用來查看接收的資料
picturebox用來顯示視頻
下方部分因為我查看手機傳過來的東西有ffd8,ffd9是主要部分
所以有用判斷去寫如果抓到ffd8,ffd9部分就顯示在picturebox上
但是視頻傳過來會有上半部沒下半部並這行pictureBox1.Image = Image.FromStream(ms); 會出現
類型 'System.ArgumentException' 的未處理例外狀況發生於 System.Drawing.dll
其他資訊: 參數無效。


本篇文章回覆於2017-03-21 20:07
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
15樓
回應

春天
檢舉此回應
buffer 先開大點試試...1024byte只有1kb
本篇文章回覆於2017-03-22 10:13
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
[ 變換順序 ]   

回覆
如要回應,請先登入.