Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 类型的方法套接字(字符串,int)未定义_Java_Sockets - Fatal编程技术网

Java 类型的方法套接字(字符串,int)未定义

Java 类型的方法套接字(字符串,int)未定义,java,sockets,Java,Sockets,我正在尝试让一个基本的客户端学习套接字,出于某种原因,我似乎无法创建套接字对象,尽管文档说它应该能够接受字符串int组合。我在什么地方搞砸了吗 import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.InetAddress; import java.net.Socket; import java.util.Scanner; publi

我正在尝试让一个基本的客户端学习套接字,出于某种原因,我似乎无法创建套接字对象,尽管文档说它应该能够接受字符串int组合。我在什么地方搞砸了吗

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.InetAddress;
import java.net.Socket;
import java.util.Scanner;

public class JokeClient {

    public static void main(String[] args) {
        // Ensures they have to have a length of 2

        int PORT_NUM = 3363;
        String ipAddress = "127.0.0.1";

        if (args.length == 2) {
            PORT_NUM = Integer.parseInt(args[1]);
            ipAddress = args[0];
        } 
        else {
            if (args.length > 0) {
                System.err.println("programName <ipAddress/hostname> <portNum>");
                System.exit(1);
            } 
            else
                System.out.println("Assuming you want defaults of IP Address: " + ipAddress + "\nPort Number: " + PORT_NUM);
        }

        System.out.println("Setting up client...");
        Scanner textIn = new Scanner(System.in);

        try {
            Socket clientSock = Socket(ipAddress, PORT_NUM);
            PrintWriter out = new PrintWriter(clientSocket.getOutputStream(), true);
            BufferedReader in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
        } catch (Exception e) {
            System.out.println("Error connecting to: " + ipAddress + " on:" + PORT_NUM + "\nError: " + e);
        }
    }
}
导入java.io.BufferedReader;
导入java.io.InputStreamReader;
导入java.io.PrintWriter;
导入java.net.InetAddress;
导入java.net.Socket;
导入java.util.Scanner;
公共类笑话客户端{
公共静态void main(字符串[]args){
//确保其长度必须为2
int PORT_NUM=3363;
字符串ipAddress=“127.0.0.1”;
如果(args.length==2){
PORT_NUM=Integer.parseInt(args[1]);
ipAddress=args[0];
} 
否则{
如果(args.length>0){
System.err.println(“程序名”);
系统出口(1);
} 
其他的
System.out.println(“假设您想要IP地址的默认值:“+ipAddress+”\n端口号:“+PORT\u NUM”);
}
System.out.println(“设置客户端…”);
扫描仪文本输入=新扫描仪(System.in);
试一试{
Socket clientSock=Socket(IP地址,端口号);
PrintWriter out=新的PrintWriter(clientSocket.getOutputStream(),true);
BufferedReader in=新的BufferedReader(新的InputStreamReader(clientSocket.getInputStream());
}捕获(例外e){
System.out.println(“连接到:“+PORT\u NUM+”\n上的“+ipAddress+”时出错”);
}
}
}

clientSocket的创建是我正在尝试的实例化的问题。我用错插座了吗

构造类的实例需要
new
关键字:

Socket clientSocket = new Socket(ipAddress, PORT_NUM);
<>否则编译器会把它看作是一个普通的方法而不是构造函数。

我忘记了“新建”。桌面