자바 소켓프로그래밍 args 값대신 스트링값을 넣어줄대 오류가나요 ㅠㅠ
사이
package client;
import java.net.*;
import java.io.*;
import java.util.Scanner;
public class TcpIpMultichatClient {
public static void main(String[] args) {
if (args.length != 1) {
System.out.println(USAGE: java TcpIpMultichatClient 대화명);
System.exit(0);
}
String serverIp = 192.168.10.68;
// 소켓을 생성하여 연결을 요청한다.
Socket socket;
try {
socket = new Socket(serverIp, 7777);
System.out.println(서버에 연결되었습니다.);
Thread sender = new Thread(new ClientSender(socket, args[0]));
Thread receiver = new Thread(new ClientReceiver(socket));
sender.start();
receiver.start();
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
static class ClientSender extends Thread {
Socket socket;
DataOutputStream out;
String name;
ClientSender(Socket socket, String name) {
try {
out = new DataOutputStream(socket.getOutputStream());
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
this.name = name;
}
public void run() {
Scanner scanner = new Scanner(System.in);
try {
if (out != null) {
out.writeUTF(name);
}
while(out!=null){
out.writeUTF([+name+]+scanner.nextLine());
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
static class ClientReceiver extends Thread {
Socket socket;
DataInputStream in;
ClientReceiver(Socket socket) {
this.socket = socket;
try {
in = new DataInputStream(socket.getInputStream());
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void run() {
while (in != null) {
try {
System.out.println(in.readUTF());
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}
소켓프로그래밍을 하는데 Run Configurations.... 이곳에 Arguments 에 값을 넣어줘야하는 소스입니다
그런데 저부분을 삭제하고 넣는값을 바꿔버리면 실행자체가 안되고 오류가 뜹니다..
이게 뭐때문에 그런건가요? ㅠㅠ
public static void main() {
String usernm = boy;---------이렇게
String serverIp = 192.168.10.68;
// 소켓을 생성하여 연결을 요청한다.
Socket socket;
try {
socket = new Socket(serverIp, 7777);
System.out.println(서버에 연결되었습니다.);
Thread sender = new Thread(new ClientSender(socket, usernm));
-
흡뜨다
아감사합니다 디폴트로 받아야하는 args 를 안받아서 나는 오류였네요 ;;
-
들찬길
오류 메시지와 문제가 되는 전체 소스를 올리세요.
public static void main(String[] args) {
이걸 지우고 아래 소스를 만들었다는 건가요?
public static void main() {
아니면 새로 만들었다는 건지
귀찮아서 안써놓은건지 파악이 안되네요.