socket和端口的问题???

yrh2847189 2004-11-16 04:35:27
import java.net.*;
import java.io.*;
public class PacketReceiveDemo
{
public static void main(String[] args)
{
try
{
System.out.println("Binding to local port 2000");
DatagramSocket socket = new DatagramSocket(2000);
System.out.println("Bound to local port"+socket.getLocalPort());
DatagramPacket packet= new DatagramPacket(new byte[256],256);
socket.receive(packet);
System.out.println("Packet received!");

InetAddress remote_addr= packet.getAddress();
System.out.println("send by:"+remote_addr.getHostAddress());
System.out.println("Send from:"+packet.getPort());

ByteArrayInputStream bin= new ByteArrayInputStream(packet.getData());
for (int i=0;i<packet.getLength();i++)
{
int data = bin.read();
if(data==-1)
break;
else
System.out.print((char)data);
}
socket.close();
}
catch(IOException ioe){
System.err.println("Err-"+ioe);
}
}
}
接受方
...全文
66 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
hanwei39 2004-11-16
  • 打赏
  • 举报
回复
看看你发送方的OutputStream关闭了没有。
yrh2847189 2004-11-16
  • 打赏
  • 举报
回复
import java.net.*;
import java.io.*;
public class PacketSendDemo
{
public static void main(String[] args)
{
int argc = args.length;
if (argc !=1)
{
System.out.println("Syntax:");
System.out.println("java PacketSendDemo hostname");
return;
}
String hostname = args[0];
try
{
System.out.println("Binding to a local port");
DatagramSocket socket = new DatagramSocket();
System.out.println("Bound to lical port"+socket.getLocalPort());
ByteArrayOutputStream bout = new ByteArrayOutputStream();
PrintStream pout = new PrintStream(bout);
pout.print("Greeting");

byte[] barray =bout.toByteArray();

DatagramPacket packet = new DatagramPacket( barray, barray.length);
System.out.println("Looking up hostname"+hostname);

InetAddress remote_addr = InetAddress.getByName(hostname);
System.out.println("Hostname resolved as"+remote_addr.getHostAddress());
packet.setAddress (remote_addr);
packet.setPort (2000);
System.out.println("Packet sent!");
}
catch (UnknownHostException uhe){
System.out.println("Can't find host"+hostname);
}
catch (IOException ioe)
{
System.err.println("Eror-"+ioe);
}
}
}
发送方
但是接受方收不到信息啊

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧