java socket直接訪問netty伺服器中資料接收不全的問題
在專案中,通過netty框架搭建的伺服器。但是在Android端我想直接採用Socket與伺服器通訊。但是在這個過程中遇到兩個問題。
1.伺服器接收不到資料
解決方法:我傳送的形式是直接將字串轉成位元組流,按照tcp協議進行傳送的。一開始伺服器能看到客戶端接入了,但是就是收不到訊息。後來在字串的末尾加上了'\n'換行符就行了。
2.伺服器傳送資料時,客戶端接收的資料是一串奇怪的字串。例如:[@Bd31d456
解決方法:在伺服器傳送資料時,一開始是直接ctx.writeAndFlush(s.getbyte()),後來改了很多的編碼設定之類的都沒起作用。後來在一個知乎的回答裡面看到按這樣的方式ctx.writeAndFlush(Unpooled.copiedBuffer(s.getBytes()))傳送,就可以正常接收了。
對於netty的使用不是很熟悉,只是按照視訊裡的步驟粗略的寫了一下,所以遇到問題就一直不知道怎麼解決。
相關推薦
java socket直接訪問netty伺服器中資料接收不全的問題
在專案中,通過netty框架搭建的伺服器。但是在Android端我想直接採用Socket與伺服器通訊。但是在這個過程中遇到兩個問題。1.伺服器接收不到資料解決方法:我傳送的形式是直接將字串轉成位元組流,按照tcp協議進行傳送的。一開始伺服器能看到客戶端接入了,但是就是收不到訊
解決Linux下串列埠資料接收不全的異常問題
1、引言 最近在Linux下除錯串列埠程式,遇到了串列埠資料接收不全的異常問題,經過將近一上午的努力終於找到問題根源,特此分享給大家,此次除錯過程中用到了主要用到了minicom工具,至於minicom的使用大家可以自行查詢相關資料。 2、正文
使用Java訪問LDAP伺服器中的資料資訊
{ //Create the initial directory context LdapContext ctx =new InitialLdapContext(env, null); //Create the search controls Searc
使用VirtualBox的Linux鏈接外部文件夾外部直接訪問虛擬機中的Docker操作步驟
輸入 虛擬 使用 直接 log 文件 http mod linux鏈接 先設置共享文件夾: 再在虛擬機中輸入一下指令: suusermod -G vboxsf user(只需要輸入一次,以後再添加的時候就不用輸入了)usermod -G vboxsf root(
訪問Samba伺服器共享資料夾時無法寫入問題的解決辦法
在配置完Samba伺服器後,用客戶機去訪問Samba伺服器時出現無法寫入的問題。反覆檢查過配置檔案,沒有任何問題,共享檔案的許可權也設定的沒有問題,防火牆策略也清除並儲存了,但就是無法寫入,這是為什麼呢?通過我反覆檢查和分析,既然不是配置檔案和防
訪問區域網伺服器中的服務
單位有一個伺服器還有幾臺電腦,伺服器上部署的有arcgis server 和 MS SQL server軟體,為了能在本機方位伺服器上的資源,需要進行一下操作: (1)需要網線和路由器連線一個區域網 (2)需要進行如下設定: 基礎篇 – 前言 1、需要是
Unity3D研究院之C#使用Socket與HTTP連線伺服器傳輸資料包
最近專案中需要使用HTTP與Socket,把自己這段時間學習的資料整理一下。有關Socket與HTTP的基礎知識MOMO就不贅述拉,不懂得朋友自己谷歌吧。我們專案的需求是在登入的時候使用HTTP請求,遊戲中其它的請求都用Socket請求,比如人物移動同步座標,同步關卡
java socket 客戶端和伺服器端互相通訊(聊天)
客戶端: package com.lzx.socket; import java.io.BufferedReader; import java.io.IOException; import jav
使用 Socket 類向 HTTP 伺服器傳送資料和接收響應。
using System; using System.Text; using System.IO; using System.Net; using System.Net.Sockets; public class GetSocket { private stati
訪問Tomcat伺服器返回資料亂碼
前序: 在網路中,資料的傳輸,最常用的格式有兩種:XML和JSON 。 今天在做一個app版本更新檢查。流程是: 1、Andriod客戶端 向 Tomcat伺服器 發起Http請求。 2、伺服器響應並返回資料。返回的資料中,包
深入Jar包:Gradle構建可執行jar包與訪問jar包中資料夾與檔案
## 前言 Java的跨平臺功能聽起來很誘人可口,號稱“Write Once,Run Everywhere”,實際上是“Run Once,Debug Everywhere”... 在實際開發過程中還是會遇到各種各樣的坑的,剛剛解決了一系列問題,特地寫個文章總結一下。 ## 使用Gradle構建Jar包 感謝
tomcat 域名直接訪問默認工程,而不添加項目路徑
pts media ren form passwords using eal simple rev <Engine name="Catalina" defaultHost="xx.xx.xx.xx"> <!--For clustering, please
kafka-0.10.0.1版本在java客戶端傳送資料接收不到
錯誤日誌: org.apache.kafka.common.errors.TimeoutException: Batch containing 100 record kafka版本:0.10.0.1 zookeeper版本: 3.4.5 產生的現象: 編寫好java
分類任務中資料類別不平衡問題的幾種解決方案
類別不平衡(class-imbalance),是指分類任務中不同類別的訓練樣例數目差別很大的情況(例如,訓練集正類樣例10個,反類樣例90個),本文假設正類樣例較少,反類樣例較多。 現有解決方案大體分為三類,如下文所示。 欠取樣(undersampling) 欠取樣方法,即去除一
Socket Receive資料一次性接收不全的問題
在傳送端,一次傳送4092個位元組, 在接收端,一次接收4092個位元組, 但是在接收端,偶爾會出現 socket.receive 接收不全的情況 , ret = sockTemp.Receive(bBuffer,iBufferLen,0); //也有可能無法收到全
迴圈buffer解決網路通訊中資料的不完整接收
網路通訊中,資料的獲取有時候並不按照你的想法進行,想每一次獲取的都是完整的資料幀,但是得到的卻是殘缺的幀,一個完整的幀分成幾段獲取到,或者一次獲取幾個完整幀。如何取得我們要處理的完整的幀,使用迴圈buffer可以解決這個問題,分享給各位 // 迴圈b
【Java筆試題】輸出字串中第一個不重複的字元
1、題目 在一個字串中找到第一個只出現一次的字元。例如,輸入“abaccdeff”,則輸出b。 2、Java程式碼 public class RetStr { public static
資料探勘中資料分類不平衡處理
處理方式 1.資料層面 在資料方面可通過取樣達到資料的平衡,有上取樣和下采樣,上取樣就是複製少數樣本,達到平衡,缺點:存在重複樣本,容易發生過擬合;下采樣就是去掉部分多數樣本,缺點:導致資料缺失。 資料合成:SMOTE方法,利用小樣本之間的相似性生成新
Java通過mybatis插入Oracle資料庫中Date格式不顯示到時分秒問題
我在用mybatis generator生成程式碼後,執行查詢語句時,Oracle裡的Date型別欄位只精確到年月日,後面時分秒都為零。 後來發現是jdbcType問題,改成 jdbcType="TIMESTAMP" 就可以。(原先預設生成時是jdbcType="DATE"
php中$_POST接收不到參數問題
總結 .org http請求 特殊 不能 長度 描述 tip 並且 問題描述:PHP可以接收_GET、_SERVER、_COOKIE等參數,php://input可以讀取沒有處理過的POST數據,獨獨_POST接收不到post參數。 原因: php://input可以讀