100求:java Serializable 实现 不同电脑之间的通信 实例 小弟刚刚 做这个,现在公司急着我实现两台机器的数据交换:即 自己这边发送数据到另一边,另一边边接受处理后,返回给我一个信息,然后我在根据返回信息做处理。多谢各位了! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 先把对象Serializable化后,已流的形式传到对方机器,对方收到后反Serializable就可以了 TO 楼主:1、对于要传送的类,需要实现java.io.Serializable接口,仅仅声明实现就行了,不用实现任何方法。2、发送和接受的双方,必须都包含此类的相同版本,否则接收方无法反序列化。3、如果要传送的类里引用了其他对象,这些对象也必须实现了java.io.Serializable接口,而且发送和接受双方也都有这些类的相同版本。这条需要递归检查。3、1楼2楼3楼说的没错,用socket就可以实现通讯。 1楼2楼3楼4楼说的没错,用socket就可以实现通讯。 TCP 和UDP 协议相关的类Java中与网络相关的类存放在java.net包中IP地址类InetAddressUDP协议对应的类DatagramSocketDatagramPocketTCP类协议对应的类ServerSocket(服务端)SocketSocket(客户端)InetAddress类用于表示计算机的地址常用方法getHostAddressget返回字符串格式的IP地址getByNamegetByName静态方法,用字符串构造一个静态方法,用字符串构造一个InetAddressInetAddress对象DatagramSocketDatagramSocket类的构造方法public DatagramSocketDatagramSocket()()public DatagramSocket(intDatagramSocket(intport)port)public DatagramSocket(intDatagramSocket(intport , port , InetAddressInetAddressladdrladdr) )DatagramSocket类的方法public void send(DatagramPacketsend(DatagramPacketp)p)public void receive(DatagramPacketreceive(DatagramPacketp)p)public void close()DatagramPacketDatagramPacket类的构造方法public DatagramPacket(byteDatagramPacket(byte[] [] buf,intbuf,intlength)length)接收数据包public DatagramPacket(byteDatagramPacket(byte[] [] buf,intbuf,intlength,InetAddresslength,InetAddressaddress,intaddress,intport)port)发送数据包,指定目标发送数据包,指定目标IPIP地址和端口号地址和端口号常用方法getInetAddressgetgetPortgetPortgetLength举两个例子import java.net.*;public class UdpReceive//用于接收消息{ public static void main(String[] args) throws Exception { DatagramSocket ds = new DatagramSocket(5000); byte[] buf = new byte[1024]; DatagramPacket dp = new DatagramPacket(buf,buf.length); ds.receive(dp); String message = new String(dp.getData(),0,dp.getLength()) + " from " + dp.getAddress() + ":" + dp.getPort(); System.out.println(message); ds.close(); }}import java.net.*;public class UdpSend//用于发送消息{ public static void main(String[] args) throws Exception { DatagramSocket ds = new DatagramSocket(); String message = "Welcome to Java."; DatagramPacket dp = new DatagramPacket(message.getBytes(),message.getBytes().length,InetAddress.getByName("127.0.0.1"),5000); ds.send(dp); ds.close(); }} Java 网络高级编程http://download.csdn.net/source/268895 ssh json jar 问题 Struts2重新部署出现Unable to load configuration错误 tomcat 服务器 花生壳 菜鸟问题 数据显示到复选框中的问题? "帮助"的WEB程序实现 中文问题?我的机器装了JBUILDER9.0,JSP连的是SQLSERVER2000,从数据库读出来的中文要转码才能正常显示,但在别的机器上不用转码就是好的(如 图片上传?? asp与jsp哪个更容易学些? MongoDB Sharding实现(在单机上做测试)(Windows版本) 求资料 JS的 是否可以用java 調用 asp.net 編譯的dll ?
1、对于要传送的类,需要实现java.io.Serializable接口,仅仅声明实现就行了,不用实现任何方法。
2、发送和接受的双方,必须都包含此类的相同版本,否则接收方无法反序列化。
3、如果要传送的类里引用了其他对象,这些对象也必须实现了java.io.Serializable接口,而且发送和接受双方也都有这些类的相同版本。这条需要递归检查。
3、1楼2楼3楼说的没错,用socket就可以实现通讯。
Java中与网络相关的类存放在java.net包中
IP地址类
InetAddress
UDP协议对应的类
DatagramSocket
DatagramPocket
TCP类协议对应的类
ServerSocket(服务端)
SocketSocket(客户端)
InetAddress类
用于表示计算机的地址
常用方法
getHostAddressget
返回字符串格式的IP地址
getByNamegetByName
静态方法,用字符串构造一个静态方法,用字符串构造一个InetAddressInetAddress对象
DatagramSocketDatagramSocket类的构造方法
public DatagramSocketDatagramSocket()()
public DatagramSocket(intDatagramSocket(intport)port)
public DatagramSocket(intDatagramSocket(intport , port , InetAddressInetAddressladdrladdr) )
DatagramSocket类的方法
public void send(DatagramPacketsend(DatagramPacketp)p)
public void receive(DatagramPacketreceive(DatagramPacketp)p)
public void close()
DatagramPacketDatagramPacket类的构造方法
public DatagramPacket(byteDatagramPacket(byte[] [] buf,intbuf,intlength)length)
接收数据包
public DatagramPacket(byteDatagramPacket(byte[] [] buf,intbuf,intlength,InetAddresslength,InetAddressaddress,intaddress,intport)port)
发送数据包,指定目标发送数据包,指定目标IPIP地址和端口号地址和端口号
常用方法
getInetAddressget
getPortgetPort
getLength
举两个例子
import java.net.*;public class UdpReceive//用于接收消息
{
public static void main(String[] args) throws Exception
{
DatagramSocket ds = new DatagramSocket(5000);
byte[] buf = new byte[1024];
DatagramPacket dp = new DatagramPacket(buf,buf.length);
ds.receive(dp);
String message = new String(dp.getData(),0,dp.getLength()) + " from " + dp.getAddress() + ":" + dp.getPort();
System.out.println(message);
ds.close();
}
}
import java.net.*;public class UdpSend//用于发送消息
{
public static void main(String[] args) throws Exception
{
DatagramSocket ds = new DatagramSocket();
String message = "Welcome to Java.";
DatagramPacket dp = new DatagramPacket(message.getBytes(),message.getBytes().length,InetAddress.getByName("127.0.0.1"),5000);
ds.send(dp);
ds.close();
}
}
Java 网络高级编程
http://download.csdn.net/source/268895