服务端部分代码:
- 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类型的方法在表示发送了消息的
------解决方案--------------------
资源一定要关闭的!客户端,服务器端都要有接受与发送,连接没有建立起来可能是!