100求:java Serializable 实现 不同电脑之间的通信 实例

时间:2022-11-04 21:01:58
小弟刚刚 做这个,现在公司急着我实现两台机器的数据交换:即 自己这边发送数据到另一边,另一边边接受处理后,返回给我一个信息,然后我在根据返回信息做处理。多谢各位了!

7 个解决方案

#1


socket 编程啊

#2


先把对象Serializable化后,已流的形式传到对方机器,对方收到后反Serializable就可以了

#3


socket 可以实现

#4


TO 楼主:
1、对于要传送的类,需要实现java.io.Serializable接口,仅仅声明实现就行了,不用实现任何方法。
2、发送和接受的双方,必须都包含此类的相同版本,否则接收方无法反序列化。
3、如果要传送的类里引用了其他对象,这些对象也必须实现了java.io.Serializable接口,而且发送和接受双方也都有这些类的相同版本。这条需要递归检查。
3、1楼2楼3楼说的没错,用socket就可以实现通讯。

#5


1楼2楼3楼4楼说的没错,用socket就可以实现通讯。

#6


TCP  和UDP  协议相关的类
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();
}
}

#7



Java 网络高级编程
http://download.csdn.net/source/268895

#1


socket 编程啊

#2


先把对象Serializable化后,已流的形式传到对方机器,对方收到后反Serializable就可以了

#3


socket 可以实现

#4


TO 楼主:
1、对于要传送的类,需要实现java.io.Serializable接口,仅仅声明实现就行了,不用实现任何方法。
2、发送和接受的双方,必须都包含此类的相同版本,否则接收方无法反序列化。
3、如果要传送的类里引用了其他对象,这些对象也必须实现了java.io.Serializable接口,而且发送和接受双方也都有这些类的相同版本。这条需要递归检查。
3、1楼2楼3楼说的没错,用socket就可以实现通讯。

#5


1楼2楼3楼4楼说的没错,用socket就可以实现通讯。

#6


TCP  和UDP  协议相关的类
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();
}
}

#7



Java 网络高级编程
http://download.csdn.net/source/268895