У меня есть два Jtextarea в моем коде. У меня есть кнопка подключения, и при нажатии на соединение она подключается к серверу. У меня есть кнопка отправки. Когда я набираю что-либо в первой jtextarea и нажимаю кнопку отправки, он должен быть возвращен и напечатан во втором jtextarea.отправка и получение данных через сокет
Моя проблема в том, что когда я отправляю данные в первый раз, я получаю обратно данные правильно, но когда я отправляю данные во второй раз, я не получаю их обратно. Когда я отправляю третью информацию, я получаю обратно второй данные, и это продолжается.
, пожалуйста, помогите. Заблаговременно Это мой код.
public class send extends JFrame
{
Socket s;
int port=3000;
String host="192.168.1.3"
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run(){
send s=new send();
s.setvisible(true);
}
});
}
public send() {
setDrfaultCloseOperation(EXIT_ON_CLOSE);
setResizable(false);
setBounds(100,100,400,600);
Jpanel ContentPane=new Jpanel();
contentPane.setBorder(new EmptyBorder(5,5,5,5);
setContentPane(contentpane);
contentPane.setLayout(null);
JButton connect=new Jbutton("connect");
connect.setBounds(15,10,100,40);
connect.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e{
try{
addr=InetAddress.getByName(host);
s=new Socket(addr,port);
}
catch(UnknownHostException e1)
{
e1.printStackTrace();
}
catch(IOException e2)
{
e2.printStackTrace();
}
}
});
contentPane.add(connect);
JTextArea area=new JtextArea();
area.setBounds(15,70,100,40);
contentPane.add(area);
JButton btn=new JButton("send"):
btn.setBounds(15,70,170,80);
btn.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
if(!(area.getText().trim.isEmpty())
{
try
{
PrintStream ps=new PrintStream(s.getOutputStream());
ps.println(area.getText());
InputStreamReader in=new InputStreamReader(s.getInputStream());
BufferedReader br=new BufferedReader(in);
String msg=br.readLine();
if(msg!=null)
{
txt.append("s:"+area.getText()+"\n");
txt.append(msg+"\n");
area.setText("");
}
catch(IOException e3)
{
e3.printStackTrace();
}
}
}
});
contentPane(btn);
JTextArea txt=new JtextArea();
txt.setBounds(15,210,290,300);
contentPane.add(txt);
}
}
может кто-нибудь сказать мне, что это ошибка – xdt