91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 1.14MB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2023-09-29
  • 語言: Java
  • 標簽: java??c++??socket通信??

資源簡介

java與c++通過socket通信。其中java作為客戶端,c++作為服務器。主要解決了C++中的結構體在java中如何實現和模擬。還有int,float,及字符串的處理。極具代表性。

資源截圖

代碼片段和文件信息

import?java.net.*;
/**
?*?與c語言通信(java做client,c/c++做server,傳送一個結構)
?*?
?*?@author?kingfish
?*?@version?1.0
?*/
public?class?Employee?{
private?byte[]?buf?=?new?byte[28];?//?為說明問題,定死大小,事件中可以靈活處理

/**
?*?將int轉為低字節在前,高字節在后的byte數組
?*/
private?static?byte[]?tolh(int?n)?{
byte[]?b?=?new?byte[4];
b[0]?=?(byte)?(n?&?0xff);
b[1]?=?(byte)?(n?>>?8?&?0xff);
b[2]?=?(byte)?(n?>>?16?&?0xff);
b[3]?=?(byte)?(n?>>?24?&?0xff);
return?b;
}
/**
?*?將byte數組轉化成String
?*/
private?static?String?toStr(byte[]?valArrint?maxLen)?{
int?index?=?0;
while(index? if(valArr[index]?==?0)?{
break;
}
index++;
}
byte[]?temp?=?new?byte[index];
System.arraycopy(valArr?0?temp?0?index);
return?new?String(temp);
}

/**
?*?將低字節在前轉為int,高字節在后的byte數組
?*/
private?static?int?vtolh(byte[]?bArr)?{
int?n?=?0;
for(int?i=0;i int?left?=?i*8;
n+=?(bArr[i]?< }
return?n;
}
public?String?name?=?““;
public?int?id?=?0;
public?float?salary?=?0;
/**
?*?將float轉為低字節在前,高字節在后的byte數組
?*/
private?static?byte[]?tolh(float?f)?{
return?tolh(Float.floatToRawIntBits(f));
}

private?static?Employee?getEmployee(byte[]?bArr)?{
String?name?=?““;
int?id?=?0;
float?salary?=?0;

byte[]?temp?=?new?byte[20];
name?=?toStr(bArr20);

System.arraycopy(bArr?20?temp?0?4);
id?=?vtolh(temp);

return?new?Employee(name?id?salary);


}
/**
?*?構造并轉換
?*/
public?Employee(String?name?int?id?float?salary)?{
this.name?=?name;
this.id?=?id;
this.salary?=?salary;

byte[]?temp?=?name.getBytes();
System.arraycopy(temp?0?buf?0?temp.length);

temp?=?tolh(id);
System.arraycopy(temp?0?buf?20?temp.length);

temp?=?tolh(salary);
System.arraycopy(temp?0?buf?24?temp.length);
}

/**
?*?返回要發送的數組
?*/
public?byte[]?getbuf()?{
return?buf;
}

/**
?*?發送測試
?*/
public?static?void?main(String[]?args)?{
try?{
int?index?=?0;
byte[]?receive?=?new?byte[28];
int?k=15;
while(k>0){
Socket?sock?=?new?Socket(“127.0.0.1“?5050);
System.out.println(“send?content:??name=kingfish??“+“value=“+(1+index));
sock.getOutputStream().write(new?Employee(“kingfish“+index?1+index++?10.99f?+?index).getbuf());
sock.getInputStream().read(receive);
Employee?ee?=?getEmployee(receive);
System.out.println(“????response:??name=“+ee.name+“??“+“value=“+ee.id);
k--;
sock.close();
}

}?catch?(Exception?e)?{
e.printStackTrace();
}
}
}?//?end?

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件???????2572??2012-09-25?11:14??java與c++通過socket通信\Employee.class

?????文件???????2749??2012-09-25?11:11??java與c++通過socket通信\Employee.java

?????文件?????188477??2012-09-25?11:16??java與c++通過socket通信\Server\Debug\Server.exe

?????文件?????198420??2012-09-25?11:16??java與c++通過socket通信\Server\Debug\Server.ilk

????I.A....???3637416??2012-09-25?11:16??java與c++通過socket通信\Server\Debug\Server.pch

?????文件?????451584??2012-09-25?11:16??java與c++通過socket通信\Server\Debug\Server.pdb

?????文件??????14297??2012-09-25?11:16??java與c++通過socket通信\Server\Debug\source.obj

?????文件?????140288??2012-09-25?11:16??java與c++通過socket通信\Server\Debug\vc60.idb

?????文件??????77824??2012-09-25?11:16??java與c++通過socket通信\Server\Debug\vc60.pdb

?????文件???????4284??2012-09-25?10:35??java與c++通過socket通信\Server\Server.dsp

?????文件????????518??2012-09-25?10:35??java與c++通過socket通信\Server\Server.dsw

?????文件??????41984??2012-09-25?11:16??java與c++通過socket通信\Server\Server.ncb

?????文件??????48640??2012-09-25?11:16??java與c++通過socket通信\Server\Server.opt

?????文件???????1264??2012-09-25?11:16??java與c++通過socket通信\Server\Server.plg

?????文件???????1814??2012-09-25?11:16??java與c++通過socket通信\Server\source.cpp

?????目錄??????????0??2012-09-25?11:16??java與c++通過socket通信\Server\Debug

?????目錄??????????0??2012-09-25?11:16??java與c++通過socket通信\Server

?????目錄??????????0??2012-09-25?11:47??java與c++通過socket通信

-----------?---------??----------?-----??----

??????????????4812131????????????????????18


評論

共有 條評論