У меня есть TCP-клиент, который отправляет данные на мой TCP-сервер.ServerSocket в TCP-сервере всегда ожидает входящий запрос от клиента в бесконечном цикле while (true).Я хочу всегда обновлять свое текстовое поле на основе запроса от клиента, мой серверный сокет находится в то время как (true), где находятся данные от клиента.Как этого добиться?
// сводка моего текущего кода
Text txtOne;
public static void main(String[] args)
{
window.open();
}
void open()
{
createContents();
}
createcontents()
{
txtOne = new Text(shell, SWT.BORDER);
Button btnStartServer = new Button(shell, SWT.NONE);
btnStartServer.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
toServerController();
}
});
}
void toServerCOntroller()
{
try
{
ServerSocket server = new ServerSocket(60000);
while (true)
{
Socket sclient = server.accept();
DataInputStream dataIn = new DataInputStream(sclient.getInputStream());
DataOutputStream dataOut = new DataOutputStream(sclient.getOutputStream());
String name = dataIn.readUTF();
txtOne.setText(name); //<----- this is where the error happen
}
}
Я ожидаю, что txtOne всегда будет меняться в зависимости от dataIn.