salut,
je débute en java swt et j'éssaye de programmer un client qui se connecte à un serveur irc.
à la réception des données l'interface se fige.
voilà mon code :
j'ai essayé avec les threads, qui est un nouveau monde pour moi. d'aprés ce que j'ai compris que les autres threads creées ne doivent pas toucher aux composantes de l'ui thread. j'ai testé plusieurs exemples mais ça reste toujours figer.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52 Button ConnBtn = new Button(group, SWT.NONE); ConnBtn.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { try { int Port = Integer.parseInt(PortTxt.getText()); try { LaSocket = new Socket(ServeurTxt.getText(),Port); String DonneesEnvoyees = "NICK BOT\r\nUSER BOT BOT BOT :BOTTEST\r\n"; OutPut = LaSocket.getOutputStream(); InPut = LaSocket.getInputStream(); bOStream = new BufferedOutputStream(OutPut); bIStream = new BufferedInputStream(InPut); bOStream.write(DonneesEnvoyees.getBytes()); bOStream.flush(); b = new byte[256]; bitsRecus = 0; while((bitsRecus = bIStream.read(b)) >= 0) LogTxt.setText(LogTxt.getText()+"Recu : " + new String(b,0, bitsRecus)+"\n"); bOStream.close(); bIStream.close(); LaSocket.close(); } catch (UnknownHostException e1) { LogTxt.setText(LogTxt.getText()+"Serveur inconnu !! \n"); } catch (IOException e1) { LogTxt.setText(LogTxt.getText()+"Entrée non valide\n"); } }catch(NumberFormatException Erreur) { LogTxt.setText(LogTxt.getText()+"Donner un numéro de port valide !!\n"); } } });
s'il vous plaît est ce que quelqu'un peut m'aider là-dessus
merci![]()
Partager