java与c/c++进行socket通信的一些问题(2)
import java.net.*;
import java.io.*;
/**
* 与C语言通信(java做Client,c/c++做Server,传送一个结构)
* @author kingfish
* @version 1.0
*/
public class Employee2 {
private String name;
private int id;
private float salary;
/**
* 将int转为低字节在前,高字节在后的int
*/
private static int toLH(int in) {
int out = 0;
out = (in & 0xff) << 24;
out |= (in & 0xff00) << 8;
out |= (in & 0xff0000) >> 8;
out |= (in & 0xff000000) >> 24;
return out;
}
/**
* 将float转为低字节在前,高字节在后的int
*/
private static int toLH(float f) {
return toLH(Float.floatToRawIntBits(f));
}
/**
* 构造并转换
*/
public Employee2(String name, int id, float salary) {
this.name = name;
this.id = id;
this.salary = salary;
}
/**
* 取得名字,定长byte数组
*/
public byte[] getName() {
byte[] b = new byte[20];
System.arraycopy(name.getBytes(), 0, b, 0, name.getBytes().length);
return b;
}
/**
* 取得编号(低字节在前)
*/
public int getId() {
return toLH(id);
}
/**
* 取得工资(低字节在前)
*/
public int getSalary() {
return toLH(salary);
}
/**
* 发送测试
*/
public static void main(String[] args) {
try {
Employee2 p = new Employee2("kingfish", 123456789, 8888.99f);
Socket sock = new Socket("127.0.0.1", 8888);
DataOutputStream dos = new DataOutputStream(sock.getOutputStream());
dos.write(p.getName());
dos.writeInt(p.getId());
dos.writeInt(p.getSalary());
sock.close();
}
catch (Exception e) {
e.printStackTrace();
}
}
} //end
java与c/c++进行socket通信的一些问题(2)相关推荐
- java面试题44关于 Socket 通信编程,以下描述正确的是:( )
java面试题44关于 Socket 通信编程,以下描述正确的是:( ) A 客户端通过new ServerSocket()创建TCP连接对象 B 客户端通过TCP连接对象调用accept()方法创建 ...
- java与C语言之间socket通信(java客户端 C服务端)
直接贴代码 服务端C代码 server.c #include <stdio.h> #include <sys/types.h> #include <sys/socket. ...
- java与c/c++进行socket通信的一些问题
c/c++和java通信的问题比较多,特别是c特有的数据结构(如struct). 特地根据网友的一个问题举个例子,希望对初学者有所帮助. 这类问题通常是为了利用原有Server或者Server不能做修 ...
- java事件 socket_java中有关socket通信的学习笔记
最近做的项目中使用到了一些基于java的socket长连接的一些功能,用来穿透有关行业的网闸.用到了也就学习了一下,下面是对学习内容的一个笔记,记录一下也希望有兴趣的同学可以参考一下,加深对javas ...
- java客户端服务器代码_Java Socket通信 客户端服务器端基本代码
[服务器端] import java.io.IOException; import java.io.InputStream; import java.net.ServerSocket; import ...
- java与c 通信_Java与C之间的socket通信
最近正在开发一个基于指纹的音乐检索应用,算法部分已经完成,所以尝试做一个Android App.Android与服务器通信通常采用HTTP通信方式和Socket通信方式.由于对web服务器编程了解较少 ...
- java socket建立长连接_Java Web项目中使用Socket通信多线程、长连接的方法
很多时候在javaweb项目中我们需要用到Socket通信来实现功能,在web中使用Socket我们需要建立一个监听程序,在程序启动时,启动socket监听.我们的应用场景是在java项目中,需要外接 ...
- Java Socket实战之六 使用NIO包实现Socket通信
2019独角兽企业重金招聘Python工程师标准>>> 本文地址:http://blog.csdn.net/kongxx/article/details/7288896 Java S ...
- flex java socket通信
引用:http://developer.51cto.com/art/201003/189791.htm Java socket通信如何进行相关问题的解答呢?还是需要我们不断的学习,在学习的过程中会遇到 ...
最新文章
- iOS 进阶—— iOS内存管理
- 26期20180716 iptables规则备份恢复 firewalld zone
- 我们是如何解决复杂系统扩展性问题的
- OpenGL ---渲染流水线之世界矩阵,相机变换矩阵,透视投影变换矩阵
- android分享软件功能的实现
- B树与B+树 两者的区别
- 字符串-文本对齐方法演练
- 如何创建newsstand应用程序
- 升级鸿蒙系统照片,华为鸿蒙系统照片出炉,神似EMUI,海内外花粉沸腾了
- groovy怎样从sql语句中截取表名_Mysql和SQL
- 2011年三八妇女节搜索引擎LOGO设计欣赏
- brython的问题
- qt电容触摸屏实现长按_电阻屏和电容屏有什么区别?究竟谁更胜一筹?
- java winform程序_重拾JAVA之WinForm实战之(四)
- Google Chrome Frame 自定义渲染方式,调用ActiveX
- java网络编程 - TCP/IP四层模型
- PMP工具之三点估算
- 棋盘中正方形,长方形个数
- oeasy教您玩转vim - 005 - # 程序本质
- 第三讲:如何构建双活数据中心方案