日期:2014-05-20  浏览次数:20822 次

socket相关问题 eclipse下无法通信
本帖最后由 lnjphjh 于 2013-05-05 23:50:28 编辑
我是java新手   按照人家的代码例程敲了一下  人家就可以运行   可是我的肿么就不行腻?

主要是client哪里打字的话 server收不到啊~~~

求指点?  哪里出了问题?   我觉得应该是客户端的DataOutputStream那段有问题……

server端代码:
import java.net.*;
import java.io.*;

public class ChatServer {

/**
 * @param args
 */
public static void main(String[] args) {
try{
ServerSocket ss = new ServerSocket(8888);
while(true){
Socket s = ss.accept();
System.out.println("Server has connected!");
System.out.println(s);
    DataInputStream dis = new DataInputStream(s.getInputStream());
System.out.println(dis);
System.out.println("ddddddddd");
    String str = dis.readUTF();
    System.out.println(str);
    dis.close();
}
}catch(IOException e){
e.printStackTrace();
}

}

}


client端代码:
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.net.*;

public class ChatClient extends Frame {
Socket s = null;

TextField tfTxt = new TextField();
TextArea taContent = new TextArea();

public static void main(String[] args) {
new ChatClient().launchFrame();
}

public void launchFrame() {
this.setLocation(400, 300);
this.setSize(300, 300);
add(tfTxt, BorderLayout.SOUTH);
add(taContent, BorderLayout.NORTH);
pack();
this.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent arg0){
System.exit(0);
}
});
tfTxt.addActionListener(new TFListener());
setVisible(true);
connect();
}

public void connect(){
try{
s = new Socket("127.0.0.1", 8888);
System.out.println(s);
System.out.println("Client has connected!");
}
catch(UnknownHostException e){
e.printStackTrace();
}catch(IOException e){
e.printStackTrace();
}
}

private class TFListener implements ActionListener{
public void actionPerformed(ActionEvent e) {
String str = tfTxt.getText().trim();
taContent.setText(str);
tfTxt.setText("");
try{
DataOutputStream dos = new DataOutputStream(s.getOutputStream());
dos.writeUTF(str);
System.out.println(str);
System.out.println(dos);
dos.flush();
dos.close();
}catch(IOException e1){
e1.printStackTrace();
}

}

}
}

------解决方案--------------------
不错,挺好的
------解决方案--------------------
引用:
Quote: 引用:

Quote: 引用:

怎么最近这么多人问这个问题呀?什么时候有空我写个简单的,又可以扩展的给你们吧,每次回答相同的问题。
那大神什么时间写啊  我这问题不解决  下一步没法继续进行啊  求简单介绍下~~~
很奇怪的是 我今早重新运行  这个程序就可以用了!!   为什么啊   我只是直接关机而已  什么都没做 啊   昨晚弄了一晚都没结果~~   T_T...

=================================
你不会告诉我你在项目中使用这样的方案吗?如果你在项目中,估计...嘿。