Hello! I am newbie programer in java.
I try to create a TCP/socket chat program client+server.
I use NetBeans 6.01 and JDK 1.6 SE/Win32 platform. When I try to compile or run the program i have got this error message:
init:
deps-jar:
Compiling 1 source file to C:\xyFolder
compile:
run:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
at source.Chat.main(Chat.java:14)
Java Result: 1
BUILD SUCCESSFUL (total time: 0 seconds)
Pls help me.
I have got this source code:
Chat.java
package source;
public class Chat {
XClient xc;
XServer xs;
String str4;
public Chat(String str){
this.str4=str;
new Thread1().start();
new Thread2().start();
}
public static void main(String[] args){
new Chat(args[0]);
}
private class Thread1 extends Thread{
public void run(){
System.out.println("Server Started");
xs=new XServer();
}
}
private class Thread2 extends Thread{
public void run(){
System.out.println("Client Started");
xc=new XClient(str4);
}
}
}
Xclient.java
package source;
import java.io.*;*
*import java.net.*;
public class XClient {
InetAddress addr;
Socket socket;
BufferedWriter wr;
BufferedReader in;
String str2 = "";
public XClient(String str){
try {
addr = InetAddress.getByName(str);
int port = 2000;
socket = new Socket(addr, port);
if(socket.isBound()) System.out.println("Connected to Server");
} catch (UnknownHostException e) {
} catch (IOException e) {
}
try {
wr = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
in = new BufferedReader(new InputStreamReader(System.in));
while ((str2 = in.readLine()) != null) {
wr.write(str2 + "\n");
wr.flush();
}
} catch (IOException e) {
}
}
}
XServer.java
package source;
import java.io.*;*
*import java.net.*;
public class XServer{
ServerSocket srv;
Socket socket;
BufferedReader rd;
String str3;
public XServer(){
try {
int port = 2000;
srv = new ServerSocket(port);
socket = srv.accept();
if(socket.isBound()) System.out.println("Connected to Client");
} catch (IOException e) {
}
try {
rd = new BufferedReader(new InputStreamReader(socket.getInputStream()));
while ((str3 = rd.readLine()) != null) {
System.out.println(str3);
}
rd.close();
} catch (IOException e) {
}
}
}
Edited by: Tokman on Mar 2, 2008 3:59 AM