读书人

Socket客户端给服务端发信息服务端显

发布时间: 2012-04-15 18:39:21 作者: rapoo

Socket客户端给服务端发信息,服务端显示为null
服务端部分代码:

Java code
Socket socket = server.accept();                    BufferedReader bfr = new BufferedReader(new InputStreamReader(socket.getInputStream()));                    StringBuffer messageContent = new StringBuffer();                    while(bfr.readLine() != null)                    {                        messageContent.append(bfr.readLine());                    }                    StringBuffer messageRecord = new StringBuffer(showMessage.getText());                    messageRecord.append(messageContent.toString());                    messageRecord.append("\n");                    showMessage.setText(messageRecord.toString());




客户端部分代码:
Java code
Socket socket = new Socket("127.0.0.1",8889);                PrintWriter out = new PrintWriter(socket.getOutputStream(),true);                                out.println(messageContent);                out.flush();                out.close();


[解决办法]
客户端没有发送信息,服务器端收到的当然是null啊,两端的发送和接收是交替进行的。客户端添加发送信息的代码 跟服务器端的readLine()是对应的

[解决办法]
你哪里向服务端发信息了?哪句代码发的?
[解决办法]
out.println(messageContent);

messageContent 值是多少?
[解决办法]
while(bfr.readLine() ....你这句意思就是读取信息啊,但是客户端应该有一个类是write类型的方法在表示发送了消息的
[解决办法]
资源一定要关闭的!客户端,服务器端都要有接受与发送,连接没有建立起来可能是!

读书人网 >J2SE开发

热点推荐