应该已经完全按照教程书写了代码~~然而总是不对~~~
就是这个结果~~~
就是这个结果~~~
2016-02-25
我也遇到同样的问题,我解决这个问题是我想着loaclhost,就是socket构造方法中的Socket(String host,
int port)
创建一个流套接字并将其连接到指定主机上的指定端口号。 因此,我觉得自己的问题出现在String host中,构造方法中的参数类型是String,老师输入的localhost,即是意思着本机的地址,所以我用方法获取本机的地址。把它代替了“localhost”,获取本机地址的方法不用我吧。这下面是我成功后的代码。
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.Socket;
import java.net.UnknownHostException;
import java.net.InetAddress;
/*
* 客户端
*/
public class Client {
public static void main(String[] args) {
InetAddress address;
try {
address = InetAddress.getLocalHost();
try {
//建立客户端,指定服务器端口和地址
Socket socket = new Socket(address.getHostAddress(),8888);
//获取输出流,想服务器端发送登录信息
OutputStream os = socket.getOutputStream();//获取输出流
PrintWriter pw = new PrintWriter(os); //将输出流包装为打印流
pw.write("用户名:kjx,密码:093022");
pw.flush();
socket.shutdownOutput(); //关闭输出流
//关闭资源
pw.close();
os.close();
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} catch (UnknownHostException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
}举报