没有分在技术区发帖

jibee 2010-04-08 11:51:44
public String receiveMessage( )
throws IOException {
byte[ ] receiveBuffer = new byte[MAX_LEN];
DatagramPacket datagram =
new DatagramPacket(receiveBuffer, MAX_LEN);
this.receive(datagram);
String message = new String(receiveBuffer);
return message;
} //end receiveMessage


为什么这个接收到的message 打印出来除了前部分是接收的信息,后部分全是a ?

例如接收到的信息为Mary,打印出来则是Maryaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

求解,谢谢
...全文
80 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
jibee 2010-04-12
  • 打赏
  • 举报
回复
我也回帖
jibee 2010-04-09
  • 打赏
  • 举报
回复
import java.net.*;
import java.io.*;

/**
* A subclass of DatagramSocket which contains
* methods for sending and receiving messages
* @author J. B. Lin
*/

public class MyDatagramSocket extends DatagramSocket {
static final int MAX_LEN = 100;

MyDatagramSocket() throws SocketException{
super();
}

MyDatagramSocket(int portNo) throws SocketException{
super(portNo);
}
public void sendMessage(InetAddress receiverHost,
int receiverPort,
String message)
throws IOException {
byte[ ] sendBuffer = message.getBytes( );
DatagramPacket datagram =
new DatagramPacket(sendBuffer, sendBuffer.length,
receiverHost, receiverPort);
this.send(datagram);
} // end sendMessage

public String receiveMessage( )
throws IOException {
byte[ ] receiveBuffer = new byte[MAX_LEN];
DatagramPacket datagram =
new DatagramPacket(receiveBuffer, MAX_LEN);
this.receive(datagram);
String message = new String(receiveBuffer);
return message;
} //end receiveMessage

public DatagramMessage receiveMessageAndSender( )
throws IOException {
byte[ ] receiveBuffer = new byte[MAX_LEN];
DatagramPacket datagram =
new DatagramPacket(receiveBuffer, MAX_LEN);
this.receive(datagram);
// create a DatagramMessage object, to contain message
// received and sender's address
DatagramMessage returnVal = new DatagramMessage( );
returnVal.putVal(new String(receiveBuffer),
datagram.getAddress( ),
datagram.getPort( ));
return returnVal;
} //end receiveMessage
} //end class
jibee 2010-04-09
  • 打赏
  • 举报
回复
import java.net.*;
import java.io.*;

public class MyDatagramSocket extends DatagramSocket {
static final int MAX_LEN = 100;

MyDatagramSocket() throws SocketException{
super();
}

MyDatagramSocket(int portNo) throws SocketException{
super(portNo);
}
public void sendMessage(InetAddress receiverHost,
int receiverPort,
String message)
throws IOException {
byte[ ] sendBuffer = message.getBytes( );
DatagramPacket datagram =
new DatagramPacket(sendBuffer, sendBuffer.length,
receiverHost, receiverPort);
this.send(datagram);
} // end sendMessage

public String receiveMessage( )
throws IOException {
byte[ ] receiveBuffer = new byte[MAX_LEN];
DatagramPacket datagram =
new DatagramPacket(receiveBuffer, MAX_LEN);
this.receive(datagram);
String message = new String(receiveBuffer);
return message;
} //end receiveMessage

public DatagramMessage receiveMessageAndSender( )
throws IOException {
byte[ ] receiveBuffer = new byte[MAX_LEN];
DatagramPacket datagram =
new DatagramPacket(receiveBuffer, MAX_LEN);
this.receive(datagram);
// create a DatagramMessage object, to contain message
// received and sender's address
DatagramMessage returnVal = new DatagramMessage( );
returnVal.putVal(new String(receiveBuffer),
datagram.getAddress( ),
datagram.getPort( ));
return returnVal;
} //end receiveMessage
} //end class
stillback 2010-04-09
  • 打赏
  • 举报
回复
敢把全部代码放上来嘛...
hyl100041943 2010-04-09
  • 打赏
  • 举报
回复
每天回帖即可获得10分可用分!

23,404

社区成员

发帖
与我相关
我的任务
社区描述
Java 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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