成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Java socket通信與C++之間的不解之緣

開發 后端
Java socket通信如何才能完成于C++之間的通信問題。下面我們就來詳細的看看相關的代碼。希望你從代碼中找到所需答案。

c++builer與Java socket通信是我們在編程中經常用到的,有不少的人還有很多問題需要解決。下面我們就來看看如何解決有關于Java socket通信與C++之間的相關問題。希望大家有所了解。

C++builer與Java都提供了功能豐富的socket控件/類。這里將實現c++builer與Java之間的socket通信,能夠使雙方互相發送信息。在C++builer里,我們采用 ServerSocket控件做為服務器端,Java socket通信里采用Socket類做為客戶端。本示例中互相發送的都為結構體,在C++builer里定義為:

  1. typedef struct  
  2. {  
  3. int int1;  
  4. float f;  
  5. char ch[20];  
  6. double d;  
  7. } TMyMsg; 

 

Java里發送部分是直接用的DataOutputStream 的writeXXX方法,當然也可以用內部類轉換成byte[]進行發送。

源代碼如下:

C++builer服務器端Unit1.cpp

 

 

  1. #include <vcl.h> 
  2. #pragma hdrstop  
  3. #include "Unit1.h"  
  4. #include <winsock.h> 
  5. #pragma package(smart_init)  
  6. #pragma resource "*.dfm"  
  7. TForm1 *Form1;  
  8. __fastcall TForm1::TForm1(TComponent* Owner)  
  9. : TForm(Owner)  
  10. {  
  11. }  
  12. void __fastcall TForm1::Button1Click(TObject *Sender)  
  13. {  
  14. ServerSocket1->Active = true;  
  15. }  
  16. void __fastcall TForm1::BtnSendClick(TObject *Sender)  
  17. {  
  18. //發送的數據要進行字節序轉換.  
  19. TMyMsg sendmsg;  
  20. sendmsg.int1 = htonl(30);  
  21. sendmsg.f = ntohf(12.345);  
  22. strcpy(sendmsg.ch,"測試數據!");  
  23. sendmsg.d = ntohd(67.890);  
  24. ServerSocket1->Socket->Connections[0]->SendBuf(&sendmsg, 
    sizeof(TMyMsg));  
  25. }  
  26. void __fastcall TForm1::FormShow(TObject *Sender)  
  27. {  
  28. MemoSend->Lines->Add("int : 30");  
  29. MemoSend->Lines->Add("float : 12.345");  
  30. MemoSend->Lines->Add("char [20] : 測試數據!");  
  31. MemoSend->Lines->Add("double : 67.890");  
  32. }  
  33. void __fastcall TForm1::ServerSocket1ClientRead(TObject 
    *Sender,  
  34. TCustomWinSocket *Socket)  
  35. {  
  36. //接收的數據字節序轉換  
  37. TMyMsg remsg;  
  38. Socket->ReceiveBuf(&remsg,sizeof(TMyMsg));  
  39. int int1 = ntohl(remsg.int1);  
  40. float f = ntohf(remsg.f);  
  41. char *ch = new char[20];  
  42. strcpy(ch,remsg.ch);  
  43. AnsiString sch = StrPas(ch);  
  44. double d = ntohd(remsg.d);  
  45. delete [] ch;  
  46. MemoRec->Lines->Add(int1);  
  47. MemoRec->Lines->Add(f);  
  48. MemoRec->Lines->Add(sch.Trim());  
  49. MemoRec->Lines->Add(d);  

 

以上就是Java socket通信和C++之間進行通信的相關問題介紹。

【編輯推薦】

  1. Java Socket對象原理的詳細介紹
  2. Java Socket服務端具體命令編寫
  3. Java Socket通訊客戶端代碼編寫教程
  4. Java Socket通訊實際操作手冊
  5. Java Socket通訊客戶端代碼詳解
責任編輯:張浩 來源: 互聯網
相關推薦

2021-06-04 06:32:50

coverallsPython

2010-03-15 18:03:18

Java線程

2023-11-07 12:30:38

數據結構紅黑樹

2016-05-27 11:43:06

2014-10-30 17:43:59

Android 5.0Android Wea

2010-01-25 15:55:50

托管C++

2013-03-26 10:27:32

社交游戲公司云存儲

2010-03-10 17:43:41

Python編程語言

2019-10-22 08:11:43

Socket網絡通信網絡協議

2009-02-19 09:48:34

XP微軟降級

2021-08-02 10:40:45

機器人人工智能算法

2012-05-24 21:36:44

蘋果

2018-06-19 09:54:22

MySQLHBase存儲

2016-09-30 10:30:12

2012-12-21 09:19:29

Google GO

2011-03-10 09:07:47

liferayportlet

2012-12-24 14:40:54

iosjs

2010-01-11 11:09:10

C++語法

2018-11-13 14:41:35

溯源區塊鏈商場

2009-09-10 11:26:59

C# form
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久精品国产一区二区电影 | 激情网站在线观看 | 欧美日韩国产高清视频 | 免费人成在线观看网站 | 久久久国产精品视频 | 久久99精品久久久97夜夜嗨 | 91精品国产91久久久久久最新 | 一级黄色av电影 | 91精品中文字幕一区二区三区 | 一区二区av | 国产电影一区二区在线观看 | 久久久久久电影 | 免费观看一级特黄欧美大片 | 四虎影院新地址 | 国产一区二区三区精品久久久 | 国产黄色精品在线观看 | 国产激情在线观看 | 国产成人精品一区二区 | 精品久久香蕉国产线看观看亚洲 | 91精品入口蜜桃 | 99精品在线| 色综合久 | 天天狠狠 | 国产伦精品一区二区三毛 | 欧美午夜精品 | 天天草视频 | 精品国产乱码久久久久久88av | 欧美色综合 | 国产在线不卡视频 | 欧美片网站免费 | 日韩久草 | 欧美一区二区在线 | 欧美 日韩 国产 成人 在线 91 | 免费在线观看黄网站 | 国产中文字幕在线 | 色吧综合网 | 国产剧情一区 | 久久久久久久久久久福利观看 | 操操网站| 日韩精品在线一区二区 | 国产精品久久国产精品99 gif |