導航:首頁 > 編程語言 > javacsocketjson

javacsocketjson

發布時間:2023-06-09 18:03:00

『壹』 c語言和java 使用socket通信的時候 數據大小端轉換的問題

大小端轉換就是移位,拼接,用C實現很簡單。
至於解析出問題,可以約定雙方以位元組流進行通信,比如,約定一個浮點數拆成文本,或者一個32位長整拆成四個位元組,先傳送低位元組(或高位元組),約定好以後,兩邊都照做就可以了。

『貳』 java網路通信如何使用位元組類傳送位元組數據

伺服器端
DataInputStream inData;
socket = serverSocket.accept();
inData = new DataInputStream(socket.getInputStream());
outData = new DataOutputStream(socket.getOutputStream());
byte[] b = ("hello world").getBytes();
outData.write(b,0,b.lenth);
客戶端是
out = new DataOutputStream(socket.getOutputStream());
in = new DataInputStream(socket.getInputStream());
byte[] b ;
ByteArrayOutputStream out1 = new ByteArrayOutputStream();
while (in.available() != 0) {
out1.write(in.read());
}
b = out1.toByteArray();
return new String(b);

轉換的時候有問題
out = new DataOutputStream(socket.getOutputStream());
in = new DataInputStream(socket.getInputStream());
byte[] b = new byte[in.available()];
for(int i = 0;i < b.length;i++){
b[i] = (byte)in.read();
}

String s = new String(b);

『叄』 C和 JAVA 能進行傳輸文件

能,直接通過tcp就可以了,最近剛好用zeromq做了一個由java傳輸一個json格式的位元組到C++項目里轉換成C++對象處理,再返回個Java。C++和C的zeromq配置是相差不大的。

『肆』 java 通過socket接收服務端的數據包,解析完成之後如何顯示在頁面上(頁面需要實時刷新新傳來的數據)

你可以用推技術,把數據發送到頁面,也可以用WebSocket
// 建立WebSocket連接
var strWSPath ="ws://"+wsPath;
if ('WebSocket' in window){
objWebSocket = new WebSocket(strWSPath+"/mywebsocket.do");
}else if ('MozWebSocket' in window){
objWebSocket = new MozWebSocket(strWSPath+"/mywebsocket.do");
}else{
alert("對不起!你的瀏覽器不支持WebSocket!");
}

// 收到消息
objWebSocket.onmessage = function(evt) {
// 解析數據
var objJsonData = JSON.parse(evt.data);
var strMethodName = objJsonData.method;
var objData = objJsonData.data;
// 執行相應的業務邏輯
window[strMethodName](objData);
};

『伍』 安卓開發工程師都需要會什麼求指導

Android工程師是移動應用開發者,希望將自己的應用移植到該平台上或者在該平台上開專發應用屬。

主要包括:Android應用軟體開發工程師、Android游戲程序員、Android網路游戲程序員、Android軟體移植工程師激巧絕、Android嵌入式設備軟體開發工程師、Android游戲開發工程明姿師、Android網路游戲開發工程師等。盡管Android進入中國才2年多,但是Android工程師卻異常吃香。

Android開發,需要掌握以下知識:

android以java為基礎的,所以前提要學好Java基礎知識,比如基本類型、集合等。

android api,學習基本的Activity、service、intent等基本的知識,可以開發一些界面。

計算機網路基本知識。

Linux命令、C編程基礎、Android Java編程、Google Android Linux操作系統具體操作等

當然,對安卓工程師有學習方面有學習的需求可以先根據線上課程學習了解一下自身對雲計算究竟有多大興趣,這份興趣寬碰能不能轉化成動力讓自己正式學習安卓工程師並入職,有任何關於安卓工程師的問題歡迎點 擊 頭 像。

『陸』 java socketioclient 怎麼獲取數據

php有可用的websocket庫,不需要php-fpm。
目前比較成熟的有swoole(swoole.com),和workman(workman.net)
swoole是c寫的php擴展, 效率比nodejs還要高,是純php實現,兩者都號稱可以實現並發百萬TCP連接。
給你個例子:
這個要通過cmd運行的 具體帶的參數有點忘記了
<?php
error_reporting(E_ALL);
set_time_limit(0);
ob_implicit_flush();

//創建一個socket連接 設置參數 綁定 監聽 並且返回
$master = WebSocket("localhost",12345);

//標示是否已經進行過握手了
$is_shaked = false;

//是否已經關閉
$is_closed = true;

//將socket變為一個可用的socket

while(true){
//如果是關閉狀態並且是沒有握手的話 則創建一個可用的socket(貌似第二個條件可以去除)
if($is_closed && !$is_shaked){
if(($sock = socket_accept($master)) < 0){
echo "socket_accept() failed: reason: " . socket_strerror($sock) . "\n";
}

//將關閉狀態修改為false
$is_closed = false;
}

//開始進行數據處理
process($sock);
}

//處理請求的函數
function process($socket){
//先從獲取到全局變數
global $is_closed, $is_shaked;

//從socket中獲取數據
$buffer = socket_read($socket,2048);

//如果buffer返回值為false並且已經握手的話 則斷開連接
if(!$buffer && $is_shaked){
disconnect($socket);
}else{
//如果沒有握手的話則握手 並且修改握手狀態
if($is_shaked == false){
$return_str = dohandshake($buffer);
$is_shaked = true;
}else{
//如果已經握手的話則送入deal函數中進行相應處理
$data_str = decode($buffer); //解析出來的從前端送來的內容
console($data_str);
$return_str = encode(deal($socket, $data_str));
//$return_str = encode($data_str);
}

//將應該返回的字元串寫入socket返回
socket_write($socket,$return_str,strlen($return_str));
}
}

function deal($socket, $msgObj){
$obj = json_decode($msgObj);
foreach($obj as $key=>$value){
if($key == 'close'){
disconnect($socket);
console('close success');
return 'close success';
}else if($key == 'msg'){
console($value."\n");
return $value;
}
}
}

『柒』 java怎麼實現JSON打包UDP

JSON 打包UDP? 很費解 。。。。。。。UDP 一種通訊方式。。。JSON是一些字元串

『捌』 如何用java進行移動端後台開發

java進行移動後台開發與java進行web後台開發完全一樣。java原生的後台框架servlet,如果使用java後台開源框架可以選用spring+springmvc+mybatis,或者使用ssh框架。

一 其實前台與後台交互常用兩種協議方式:

1 http協議。

HTTP是一個屬於應用層的面向對象的協議,由於其簡捷、快速的方式,適用於分布式超媒體信息系統。它於1990年提出,經過幾年的使用與發展,得到不斷地完善和擴展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的規范化工作正在進行之中,而且HTTP-NG(Next Generation of HTTP)的建議已經提出。
HTTP協議的主要特點可概括如下:
1.支持客戶/伺服器模式。
2.簡單快速:客戶向伺服器請求服務時,只需傳送請求方法和路徑。請求方法常用的有GET、HEAD、POST。每種方法規定了客戶與伺服器聯系的類型不同。由於HTTP協議簡單,使得HTTP伺服器的程序規模小,因而通信速度很快。
3.靈活:HTTP允許傳輸任意類型的數據對象。正在傳輸的類型由Content-Type加以標記。
4.無連接:無連接的含義是限制每次連接只處理一個請求。伺服器處理完客戶的請求,並收到客戶的應答後,即斷開連接。採用這種方式可以節省傳輸時間。
5.無狀態:HTTP協議是無狀態協議。無狀態是指協議對於事務處理沒有記憶能力。缺少狀態意味著如果後續處理需要前面的信息,則它必須重傳,這樣可能導致每次連接傳送的數據量增大。另一方面,在伺服器不需要先前信息時它的應答就較快。

2 webservice,例子有天氣預報介面。

Web service是一個平台獨立的,低耦合的,自包含的、基於可編程的web的應用程序,可使用開放的XML(標准通用標記語言下的一個子集)標准來描述、發布、發現、協調和配置這些應用程序,用於開發分布式的互操作的應用程序。[1]

Web Service技術, 能使得運行在不同機器上的不同應用無須藉助附加的、專門的第三方軟體或硬體, 就可相互交換數據或集成。依據Web Service規范實施的應用之間, 無論它們所使用的語言、 平台或內部協議是什麼, 都可以相互交換數據。Web Service是自描述、 自包含的可用網路模塊, 可以執行具體的業務功能。Web Service也很容易部署, 因為它們基於一些常規的產業標准以及已有的一些技術,諸如標准通用標記語言下的子集XML、HTTP。Web Service減少了應用介面的花費。Web Service為整個企業甚至多個組織之間的業務流程的集成提供了一個通用機制。




二 前台後台數據傳遞格式常用的也有兩種:

1 xml

XML 三種解析方式簡介

大名鼎鼎的 DOM

說它大名鼎鼎可是一點不為過,DOM 是 W3C 處理 XML 的標准 API,它是許多其它與 XML 處理相關的標準的基礎,不僅是 Java,其它諸如 Javascript,PHP,MS .NET 等等語言都實現了該標准, 成為了應用最為廣泛的 XML 處理方式。當然,為了能提供更多更加強大的功能,Java 對於 DOM 直接擴展工具類有很多,比如很多 Java 程序員耳熟能詳的 JDOM,DOM4J 等等, 它們基本上屬於對 DOM 介面功能的擴充,保留了很多 DOM API 的特性,許多原本的 DOM 程序員甚至都沒有任何障礙就熟練掌握了另外兩者的使用,直觀、易於操作的方式使它深受廣大 Java 程序員的喜愛。

綠色環保的 SAX

SAX 的應運而生有它特殊的需要,為什麼說它綠色環保呢,這是因為 SAX 使用了最少的系統資源和最快速的解析方式對 XML 處理提供了支持。 但隨之而來繁瑣的查找方式也給廣大程序員帶來許多困擾,常常令人頭痛不已,同時它對 XPath 查詢功能的支持,令人們對它又愛又恨。

默默無聞的 Digester:XML 的 JavaBean 化

Digester 是 apache 基金組織下的一個開源項目,筆者對它的了解源於對 Struts 框架的研究,是否有很多程序員想要一解各大開源框架的設計甚至想要自己寫一個功能強大的框架時會碰到這樣一個難題: 這些形形色色的用 XML 語言標記的框架配置文件,框架底層是用什麼技術來解析呢? DOM 解析耗費時間,SAX 解析又過於繁瑣,況且每次解析系統開銷也會過大, 於是,大家想到需要用與 XML 結構相對應的 JavaBean 來裝載這些信息,由此 Digester 應運而生。它的出現為 XML 轉換為 JavaBean 對象的需求帶來了方便的操作介面,使得更多的類似需求得到了比較完美的解決方法, 不再需要程序員自己實現此類繁瑣的解析程序了。與此同時 SUN 也推出了 XML 和 JavaBean 轉換工具類 JAXB,有興趣的讀者可以自行了解。

2 json

JSON(JavaScriptObject Notation) 是一種輕量級的數據交換格式。它基於ECMAScript的一個子集。 JSON採用完全獨立於語言的文本格式,但是也使用了類似於C語言家族的習慣(包括C、C++、C#、Java、JavaScript、Perl、Python等)。這些特性使JSON成為理想的數據交換語言。 易於人閱讀和編寫,同時也易於機器解析和生成(一般用於提升網路傳輸速率)。


三 安卓學習例子


如果想了解安卓與後台交互的例子,請去360手機助手下載安卓學習手冊,裡面有大量安卓的例子以及http協議詳解,源碼,文檔都可看。下面是例子截圖

閱讀全文

與javacsocketjson相關的資料

熱點內容
dede工具 瀏覽:507
5g網盟app怎麼下載 瀏覽:486
微信備份老是連接中斷 瀏覽:886
出台多少份文件 瀏覽:380
鞋子怎麼搭配衣服的app 瀏覽:755
文件名使用的通配符的符號是什麼 瀏覽:916
lol分卷文件損壞怎麼辦 瀏覽:276
6分管車螺紋怎麼編程 瀏覽:732
海口農商銀行信用卡app是什麼 瀏覽:770
win10任務欄文件夾我的電腦 瀏覽:14
安卓nba2k18 瀏覽:776
文件夾密碼怎麼修改密碼 瀏覽:271
蘋果數據中心用什麼伺服器 瀏覽:769
省內圓通快遞寄文件夾需要多少錢 瀏覽:740
iphone程序加密 瀏覽:884
win10文件夾調整文件行高 瀏覽:681
創意手繪教程 瀏覽:754
微信刪除帳號信息 瀏覽:596
mysql操作類文件 瀏覽:649
繞過xp密碼 瀏覽:158

友情鏈接