Serversocket error

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • granitk7
  • Registratie: Augustus 2014
  • Laatst online: 06-12-2024
Ik probeer een programma te maken via een tutorial waarmee je je telefoon als toetsenbord en muis kan gebruiken. Nu loop ik wel vast met een aantal dingen. Voor de app werk ik in Android Studio en om de Server te maken gebruik ik Eclips.

Ik krijg vaak de melding cannot resolve symbol waarbij ik niet weet hoe ik deze moet oplossen.

Java:
1
2
3
4
5
6
7
 
      mouseMoved=true;
                                break;
                            case MotionEvent.ACTION_UP:
                                ACTION_DOWN
                                if(!mouseMoved){
                                    out.println(Constants.MOUSE_LEFT_CLICK);


Zo wordt het hier bijvoorbeeld gemeld bij "Constants". Er wordt door Android Studio nog gesuggereerd om het te veranderen naar "SyncStateContract.Constants.MOUSE_LEFT_CLICK", maar dan krijg ik weer cannot resolve symbol bij MOUSE_LEFT_CLICK.

hetzelfde geld ook hier:

Java:
1
2
3
4
5
6
7
8
9
 

@Override
    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.playPauseButton:
                if (isConnected && out!=null) {
                    out.println(SyncStateContract.Constants.PLAY);//send "play" to server
                }


Bij het maken van de server krijg ik ook steeds een melding "Error in opening Socket".

Java:
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
 

import java.awt.AWTException;
import java.awt.Robot;
import java.awt.event.InputEvent;
import java.awt.event.KeyEvent;
import java.awt.MouseInfo;
import java.awt.Point;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.net.InetSocketAddress;
import java.net.ServerSocket;
import java.net.Socket;
 
public class server123 {
    
    private static ServerSocket server = null;
    private static Socket client = null;
    private static BufferedReader in = null;
    private static String line;
    private static boolean isConnected=true;
    private static Robot robot;
    private static final int SERVER_PORT = 8998;
 
    public static void main(String[] args) {
        boolean leftpressed=false;
        boolean rightpressed=false;


Hier is er iets mis met

import java.io.InputStream;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.net.InetSocketAddress;
en
boolean leftpressed=false;
boolean rightpressed=false;

De tutorial komt van deze site

[ Voor 4% gewijzigd door granitk7 op 02-02-2017 18:22 ]


Acties:
  • 0 Henk 'm!

  • Daos
  • Registratie: Oktober 2004
  • Niet online
Die Constants moet je zelf maken. Zie de comments van je tutorial. SyncStateContract heeft er niets mee te maken en wordt voorgesteld omdat die toevallig een geneste klasse heeft met ook de naam Constants.

De server-code die je laat zien zijn alleen imports en veld-declaraties. Hier gebeurt niets. Het gaat fout zoals de foutmelding zegt bij het openen van je socket. Geeft hij naast die paar woorden nog meer info? Zoals 'geen toegang' of iets dergelijks? Al is een fout bij openen van een socket bijna altijd dat de firewall in je os geen toestemming geeft of iets minder vaak dat de poort al in gebruik is.

[ Voor 4% gewijzigd door Daos op 02-02-2017 19:20 ]


Acties:
  • 0 Henk 'm!

  • granitk7
  • Registratie: Augustus 2014
  • Laatst online: 06-12-2024
Bedankt voor je reactie!

Ik heb een nieuwe class aangemaakt waarin ik de Constants heb gemaakt. Nu heb ik het volgende gedaan:

Java:
1
2
3
4
5
6
7
8
9
 
public class Constants {

    public static final int SERVER_PORT = 8998;
    public static final char  NEXT = 'n';
    public static final char PLAY = ' ';
    public static final char PREVIOUS = 'p';
    public static final String SERVER_IP = "192.168.1.xxx";
    public static final ??? MOUSE_LEFT_CLICK = ????


Zoals je het al ziet, weet ik niet hoe het nu verder moet bij de laatste regel.

Ik heb proberen te googelen hoe je kijkt welke poorten er open staan, maar daar ben ik nog niet helemaal uit. Hij geeft wel één probleem aan:
Description Resource Path Location Type
Default constructor cannot handle exception type AWTException thrown by implicit super constructor. Must define an explicit constructor server123.java /pcremote-server/src line 3 Java Problem

[ Voor 15% gewijzigd door granitk7 op 02-02-2017 20:38 ]


Acties:
  • 0 Henk 'm!

  • Daos
  • Registratie: Oktober 2004
  • Niet online
Aangezien je ook zelf de server schrijft is het helemaal aan je zelf wat je er naartoe stuurt en hoe je server dit afhandelt. Als je in de tutorial naar de server-code kijkt zie je:
Java:
1
else if(line.contains("left_click")){


Het probleem dat je nu krijgt bij je server is een syntax-fout. Op internet is goed te vinden wat deze fout precies betekent en hoe je het op kan lossen: google

[ Voor 11% gewijzigd door Daos op 03-02-2017 12:22 ]