http://bbs.itheima.com/forum.php ... mp;page=1#pid480369首先可以看一下我发的这个帖子
然后 可以看一下这个。
新的问题,可能是延续这个问题所制造出的新问题。
首先,我先贴一下我之前的错误的代码 客户端:(前面的就导包和main函数)
Socket sk = new Socket("172.20.137.107",10002);
//定义读取键盘流对象.
BufferedReader bufr =
new BufferedReader(new InputStreamReader(System.in));
//将数据接入到Socket输出流.
//BufferedWriter bufOut =
// new BufferedWriter(new OutputStreamWriter(sk.getOutputStream()));
PrintWriter out = new PrintWriter(sk.getOutputStream(),true);
//定义一个Socket读取流.读取服务端返回的信息.
BufferedReader bufIn =
new BufferedReader(new InputStreamReader(sk.getInputStream()));
String line = null;
String str = null;
while((line = bufr.readLine())!=null){
if(line.equals("over"))break;
out.println(line);
//bufOut.write(line);
//bufOut.newLine();
//bufOut.flush();
str = bufIn.readLine();
System.out.println("Server:"+str);
}
bufr.close();
sk.close();
服务端:
public static void main(String[] args)throws Exception{
ServerSocket ss = new ServerSocket(10002);
Socket s = ss.accept();
System.out.println(s.getInetAddress().getHostAddress());
BufferedReader bufIn =
new BufferedReader(new InputStreamReader(s.getInputStream()));
//将大写的数据写到socket输出流,并发送到客户端.
//BufferedWriter bufOut =
// new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
PrintWriter out = new PrintWriter(s.getOutputStream(),true);
String line = null;
while((line = bufIn.readLine())!=null){
System.out.println("Client = "+line);
//String s1 = line.toUpperCase();
out.println(line.toUpperCase());
//bufOut.write(s1);
//bufOut.newLine();
//bufOut.flush();
}
s.close();
ss.close();
之前我猜测可能是我的网络问题,可能正是这个原因,因为我在弄后面的URL的时候(这回代码真不知道了。因为早遗漏了)显示了本机IP0.0.0.0的情况。当时看到很惊讶,不过后来传输一切正常。我用GetIp看了自己的IP也是正常的。
但是明明6M的无线打开网页却慢如蜗牛,连接上去也较为困难。这可能就是未知的(至少是我未知)IP问题,影响是不大,但是很恼人。希望给遇上相同问题的人(能遇上的可能就寥寥几人而已)做个参考。让学习更有底气。
|