Interne Computer Kommunikation

Impoleon1111

Mitglied
Hallo ich habe das Problem das sich zwei Computer bei mir zuhause sich über interne IP's mit Sockets nicht verbinden ich habe Folgenden Quelltext:
Client.java:
Java:
package mainpackage;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;

public class Client {
	static String text;
	public static void newConection(String IP,int Port) {
	String hostName = (IP);
	int port = (Port);
	Socket c = null;
	try {
		hostName = "0.0.0.0";
		port = 25565;
		c = new Socket (hostName,port);
		
		BufferedReader vomServer = new BufferedReader(new InputStreamReader(c.getInputStream()));
		PrintWriter zumServer = new PrintWriter(c.getOutputStream(),true);
		
		BufferedReader vonTastatur = new BufferedReader(new InputStreamReader(System.in));
		
		text = (vomServer.readLine());
		MainFrame.newText(text);
		c.close();
		}catch (Exception e) {
			e.printStackTrace();
		}
	}
	public static void newConectionT(String IP,int Port,String textE) {
		String hostName = (IP);
		int port = (Port);
		Socket c = null;
		String not;
		try {
			hostName = "0.0.0.0";
			port = 25565;
			c = new Socket (hostName,port);
			
			BufferedReader vomServer = new BufferedReader(new InputStreamReader(c.getInputStream()));
			PrintWriter zumServer = new PrintWriter(c.getOutputStream(),true);
			
			BufferedReader vonTastatur = new BufferedReader(new InputStreamReader(System.in));
			
			not = (vomServer.readLine());
			zumServer.println(textE);
			text = vomServer.readLine();
			MainFrame.newText(text);
			c.close();
			}catch (Exception e) {
				e.printStackTrace();
			}
		}
}
MainFrame.java:
Java:
package mainpackage;

import java.awt.BorderLayout;
import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JProgressBar;
import javax.swing.JTextField;
import javax.swing.JButton;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.SwingConstants;

public class MainFrame extends JFrame {

	private JPanel contentPane;
	static  JTextField textField;
	private JTextField textField_1;
	static JButton btnLoad;
	static JButton btnNewButton;
	static JTextArea textArea;
	static JButton btnNewButton_1;
	static String c = (">STP Server: ");

	public MainFrame() {
		KnopfListener kl = new KnopfListener();
		setTitle("S.G. Server Browser (STP)");
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setBounds(100, 100, 450, 300);
		contentPane = new JPanel();
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		setContentPane(contentPane);
		contentPane.setLayout(null);
		
		JProgressBar progressBar = new JProgressBar();
		progressBar.setOrientation(SwingConstants.VERTICAL);
		progressBar.setBounds(416, 39, 28, 234);
		contentPane.add(progressBar);
		
		textField = new JTextField();
		textField.setBounds(65, 6, 233, 28);
		contentPane.add(textField);
		textField.setColumns(10);
		
		btnLoad = new JButton("Load");
		btnLoad.setBounds(310, 7, 100, 29);
		btnLoad.addActionListener(kl);
		contentPane.add(btnLoad);
		
		JScrollPane scrollPane_1 = new JScrollPane();
		scrollPane_1.setBounds(5, 46, 405, 195);
		contentPane.add(scrollPane_1);
		
		textArea = new JTextArea("");
		textArea.setEditable(false);
		scrollPane_1.setViewportView(textArea);
		
		textField_1 = new JTextField();
		textField_1.setBounds(127, 245, 199, 28);
		contentPane.add(textField_1);
		textField_1.setColumns(10);
		
		JTextArea txtrAdress = new JTextArea();
		txtrAdress.setEditable(false);
		txtrAdress.setText("Adress:");
		txtrAdress.setBounds(5, 12, 55, 16);
		contentPane.add(txtrAdress);
		
		JTextArea txtrMessageToServer = new JTextArea();
		txtrMessageToServer.setEditable(false);
		txtrMessageToServer.setText("Message to Server:");
		txtrMessageToServer.setBounds(5, 251, 117, 19);
		contentPane.add(txtrMessageToServer);
		
		btnNewButton = new JButton("Send");
		btnNewButton.setBounds(322, 246, 82, 29);
		btnNewButton.addActionListener(kl);
		contentPane.add(btnNewButton);
		
		btnNewButton_1 = new JButton("Info");
		btnNewButton_1.setBounds(405, 3, 39, 36);
		btnNewButton_1.addActionListener(kl);
		contentPane.add(btnNewButton_1);
		
	}
	class KnopfListener implements ActionListener {
		public void actionPerformed(ActionEvent e) {
			String IP;
			if(e.getSource() == btnLoad) {
				IP = (textField.getText());
				String[] sr = IP.split(":");
				int Port = Integer.parseInt(sr[1]);
				Client.newConection(sr[0], Port);
				//System.out.println();
			}else if(e.getSource() == btnNewButton) {
				String textee = textField_1.getText();
				IP = (textField.getText());
				String[] sr = IP.split(":");
				int Port = Integer.parseInt(sr[1]);
				Client.newConectionT(IP, Port, textee);;
			}else if(e.getSource() == btnNewButton_1) {
				Info.SA();
			}
		}
	}
	public static void newText(String text) {
		String text1 = "";

		String save = (c +"" + textArea.getText());
		text1 = text;
		textArea.setText(save + "\n"+ text1);
		c = "";
	}
	public static void main(String[] args) {
		MainFrame frame = new MainFrame();
		frame.setVisible(true);
	}
}
Server.java:
Java:
package server;

import java.net.*;
import java.io.*;

public class Server {
	static String ex;
	public static void main(String [] args) {
		try {
			int port = 25565;
			ServerSocket server = (new ServerSocket(port));
			ServerInterface.text(">Server running");
			ServerInterface.text(">" + server);
			while (true) {
				Socket s = server.accept();
				new ChatDienst(s).start();
			}
			
			}catch (ArrayIndexOutOfBoundsException ae){
				ae.printStackTrace();
		}	catch (IOException e) {
			e.printStackTrace();
		}
	}
}
ChatDienst.java:
Java:
package server;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.net.Socket;
import java.text.SimpleDateFormat;
import java.util.Date;

public class ChatDienst extends Thread {
	String text = "";
	BufferedReader vomClient;
	PrintWriter zumClient;
	Socket s;
	public ChatDienst(Socket s) {
		try {
			this.s = s;
			vomClient = new BufferedReader(new InputStreamReader(s.getInputStream()));
			zumClient = new PrintWriter(s.getOutputStream(),true);
		}catch(IOException e) {
			e.printStackTrace();
			System.out.println(">Fehler bei Client");
			}
		}
	public void start() {
		String text;
		try {
			System.out.println(">Neuer Client! ("+s+")");
			zumClient.println(">Hallo du bist Verbunden! Dies ist der erste STP Server der Welt!");
			text = (vomClient.readLine());
			if(text.equalsIgnoreCase("News")) {
				text = ">Thanks for using STP.";
			}else{
				text = ">Error invalied Command!";
			}
			zumClient.println(text);
			
		}catch(Exception e) {
			//e.printStackTrace();
		}
	}
}
Bitte einfach eine Lösung in Codeform schreiben danke.:toll:
 

rme

Top Contributor
Wenn ich es richtig sehe, verbindet sich dein Client mit der IP-Adresse 0.0.0.0? Das geht nicht, so eine Adresse kann man höchstens am Server zum Horchen verwenden, damit auf allen verfügbaren IP-Adressen gehorcht wird. Der Client musst eine erreichbare IP-Adresse des Servers verwenden.
 

turtle

Top Contributor
Gib mal auf dem Server-Rechner in einer Kommandozeile ein
Code:
ipconfig /all
Und bei den vielen Ausgaben steht auch die IP-Adresse, bei mir beispielsweise
Code:
IPv4-Adresse  . . . . . . . . . . : 192.168.178.21
Und vom Client Rechner versuchst du dich mit der IP-Adresse zu verbinden (auf Port 25565).
 

Sen-Mithrarin

Gesperrter Benutzer
192.168.178.21 ... hallo FritzBox ... xD

@TO
GEHT NICHT ist KEINE fehlerbeschreibung
du hast ja in deinem code ein Throwable.printStackTrace() stehen, wie wäre es diese ausgabe einfach mal zu posten ?


btw : was das mit dem 0.0.0.0 im code soll versteh ich auch nicht wirklich, und sollte das so im code stehen wäre die fehlerursache klar


und zum port : 25565 ... vielleicht mal vorher MC-server abschalten ?
 

Impoleon1111

Mitglied
Erstens ja der MC Server ist aus der er läuft auf Nitrado...

Zweitens Fehler Meldung:
Code:
Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 2
	at mainpackage.MainFrame$KnopfListener.actionPerformed(MainFrame.java:97)
	at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2028)
	at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2351)
	at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
	at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
	at java.awt.Component.processMouseEvent(Component.java:6414)
	at javax.swing.JComponent.processMouseEvent(JComponent.java:3275)
	at java.awt.Component.processEvent(Component.java:6179)
	at java.awt.Container.processEvent(Container.java:2084)
	at java.awt.Component.dispatchEventImpl(Component.java:4776)
	at java.awt.Container.dispatchEventImpl(Container.java:2142)
	at java.awt.Component.dispatchEvent(Component.java:4604)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4618)
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4279)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4209)
	at java.awt.Container.dispatchEventImpl(Container.java:2128)
	at java.awt.Window.dispatchEventImpl(Window.java:2492)
	at java.awt.Component.dispatchEvent(Component.java:4604)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:717)
	at java.awt.EventQueue.access$400(EventQueue.java:82)
	at java.awt.EventQueue$2.run(EventQueue.java:676)
	at java.awt.EventQueue$2.run(EventQueue.java:674)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:86)
	at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:97)
	at java.awt.EventQueue$3.run(EventQueue.java:690)
	at java.awt.EventQueue$3.run(EventQueue.java:688)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:86)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:687)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
 
Zuletzt bearbeitet:

Sen-Mithrarin

Gesperrter Benutzer
tja, deine fehlermeldung passt leider nicht zu dem von dir gepostetem code

laut exception versuchst du auf den array-index 2 zuzugreifen, laut deinem code steht aber ne "0" > fehler so leider nicht nachvollziehbar

bitte darauf achten das die fehlermeldung zum code passt .. sonst wird es rätzel-raten
wenn du also was verändert hast solltest du den code der den fehler erzeugt noch mal posten
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
B RMI externe/interne ip problem Netzwerkprogrammierung 2
L Socket Zwei Computer im gleichen Netwerk ohne Portforwarding ? Netzwerkprogrammierung 12
E Kurze Textnachrichten über einen Server von meinem Handy auf den Computer laden. Netzwerkprogrammierung 9
A Computer über Internet verbinden Netzwerkprogrammierung 12
C Alle Computer eines Netzwerkes finden Netzwerkprogrammierung 32
P Auf Computer im LAN zugreifen Netzwerkprogrammierung 15
ExceptionOfExpectation Server/Client-Kommunikation Netzwerkprogrammierung 34
G Socket Socket Kommunikation Netzwerkprogrammierung 1
R Kommunikation zwischen Shell und Putty Netzwerkprogrammierung 5
temi (Netzwerk-) Kommunikation zwischen Anwendungen. Wie? Netzwerkprogrammierung 5
T Client zu Client Kommunikation Netzwerkprogrammierung 2
K Socket Nur bestimmte Zeichen als Kommunikation zulassen Netzwerkprogrammierung 1
I Client/Server Kommunikation bei einem Spiel Netzwerkprogrammierung 4
H Android - PC kommunikation Netzwerkprogrammierung 3
S Server Kommunikation Netzwerkprogrammierung 1
brainless Client Server Kommunikation verschlüsseln Netzwerkprogrammierung 13
T Socket Server/Client Kommunikation Netzwerkprogrammierung 8
I Socket Kommunikation C / Java Netzwerkprogrammierung 2
M Kommunikation übers Internet Netzwerkprogrammierung 9
P MIME-TYPE Erklaerung, Kommunikation zwischen Client und Server Netzwerkprogrammierung 3
J Sichere Kommunikation bei Server Client Netzwerkprogrammierung 3
Shams Anfängerfrage zu Server-Socket-Kommunikation Netzwerkprogrammierung 2
S Socket Kommunikation über Internet Netzwerkprogrammierung 1
M Socket Verschlüsselte Kommunikation - Fehler Netzwerkprogrammierung 1
M allgemeine Frage über Server-Client-Kommunikation Netzwerkprogrammierung 5
L Ratschlag zur Umsetzung einer client-server-Kommunikation Netzwerkprogrammierung 6
R Server zu Client Kommunikation Netzwerkprogrammierung 11
V Socket UDP Server/Client Kommunikation sehr langsam Netzwerkprogrammierung 2
Y HTTP Google Reader API Kommunikation Netzwerkprogrammierung 3
C Socket Kommunikation mit SMTP-Server Netzwerkprogrammierung 4
J Kommunikation von Webanwendungen (auf Tomcat Server) untereinander Netzwerkprogrammierung 8
H Kommunikation Netzwerkprogrammierung 8
F Socket Server/Client Kommunikation Netzwerkprogrammierung 4
X Problem mit Server-Client-Kommunikation Netzwerkprogrammierung 14
E Zeitgleiche Kommunikation, mögliche Ansätze Netzwerkprogrammierung 17
1 Java to Android TCP Kommunikation Netzwerkprogrammierung 2
O php - applet Kommunikation Netzwerkprogrammierung 9
D HTTP Java HTTP Kommunikation Netzwerkprogrammierung 9
1 SSH-Kommunikation - Ende eines Streams nicht erkenntlich Netzwerkprogrammierung 2
R Kommunikation TCP + UDP Netzwerkprogrammierung 3
S RMI RMI-Applet kommunikation funktioniert nicht Netzwerkprogrammierung 8
1 Kommunikation mit externem Programm über TCP Netzwerkprogrammierung 2
D Server-Client (Web) Kommunikation Netzwerkprogrammierung 9
E Client-Server-Kommunikation Netzwerkprogrammierung 13
C HTTP Studienarbeit Kommunikation via HTTP mit POST zwischen Server und Client Netzwerkprogrammierung 7
DamienX Socket Asnchrone Kommunikation Netzwerkprogrammierung 5
Raidri Rückwertige RMI Kommunikation Netzwerkprogrammierung 6
S TCP/IP-Kommunikation ist zu langsam Netzwerkprogrammierung 13
M Kommunikation zwischen ServerSocket und Socket Netzwerkprogrammierung 2
G Datagram-Sockets für UDP-Kommunikation Netzwerkprogrammierung 2
G java asynchrone kommunikation Netzwerkprogrammierung 8
B Rmi Kommunikation Server zu mehreren Clients? Netzwerkprogrammierung 3
G Problem mit Client-Server Kommunikation Netzwerkprogrammierung 4
N Servlet-RMI Kommunikation Netzwerkprogrammierung 8
G Objecte für Kommunikation nutzen Netzwerkprogrammierung 2
L http kommunikation mit und ohne multipart Netzwerkprogrammierung 4
D Einfache Applet-Servlet-Kommunikation Netzwerkprogrammierung 5
G unvollständige Daten: Http Client-Server-Kommunikation Netzwerkprogrammierung 2
RaoulDuke RMI Kommunikation Java <-> Perl Netzwerkprogrammierung 7
M Servlet - Applet Kommunikation Netzwerkprogrammierung 3
S Kommunikation zweier Java-Programme Netzwerkprogrammierung 6
J client/server kommunikation Netzwerkprogrammierung 3
T Kommunikation auf Byte-Ebene zw. C und Java via Socket Netzwerkprogrammierung 12
M Client-Kommunikation ohne Server Netzwerkprogrammierung 7
S Kommunikation Fortran <-> Java auf Client-Server-Archi Netzwerkprogrammierung 2
J Kommunikation zw. Server und mehreren Clints haut nicht hin Netzwerkprogrammierung 2
K Socket Kommunikation Netzwerkprogrammierung 3
K Applet - Servlet Kommunikation ohne Sockets Netzwerkprogrammierung 5
R applet servlet kommunikation Netzwerkprogrammierung 2
G JINI über RMI // Client-Server Kommunikation Netzwerkprogrammierung 4
D Kommunikation zwischen mehreren Servlets??? Netzwerkprogrammierung 3

Ähnliche Java Themen

Neue Themen


Oben