黑马程序员技术交流社区
标题:
客户端登陆问题
[打印本页]
作者:
追逐
时间:
2014-4-6 15:16
标题:
客户端登陆问题
感觉和视频上的一样啊。为什么视频中的代码可以运行三次。而我写出来的代码却只能运行一次。到底少了哪一个步骤呢。情大神解惑
import java.net.Socket;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
class LoginClient
{
public static void main(String[] args) throws Exception
{
Socket s = new Socket("172.27.35.1", 10009);
BufferedReader brin = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
BufferedReader br = new BufferedReader(new InputStreamReader(s.getInputStream()));
for(int i = 0; i < 3; i++)
{
String line = brin.readLine();
if(line == null)
break;
bw.write(line);
bw.newLine();
bw.flush();
String info = br.readLine();
System.out.println(info);
if(info.contains("欢迎"));
break;
}
brin.close();
s.close();
}
}
import java.net.Socket;
import java.net.ServerSocket;
import java.io.FileReader;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.PrintWriter;
class LoginServer
{
public static void main(String[] args) throws Exception
{
ServerSocket ss = new ServerSocket(10009);
while(true)
{
Socket s = ss.accept();
new Thread(new LoginThread(s)).start();
}
}
}
class LoginThread implements Runnable
{
private Socket s;
LoginThread(Socket s)
{
this.s = s;
}
public void run()
{
String ip = s.getInetAddress().getHostAddress();
System.out.println(ip + " 是无名人士的");
try
{
for(int i = 0; i < 3; i++)
{
BufferedReader brin = new BufferedReader(new InputStreamReader(s.getInputStream()));
String name = brin.readLine();
if(name == null)
break;
BufferedReader br = new BufferedReader(new FileReader("zhang.txt"));
PrintWriter ps = new PrintWriter(s.getOutputStream(), true);
String line = null;
Boolean flag = false;
while((line = br.readLine()) != null)
{
if(line.equals(name))
{
flag = true;
break;
}
}
if(flag)
{
System.out.println(name + "已登录");
ps.println(name + "欢迎光临");
break;
}
else
{
System.out.println(name + "尝试登陆");
ps.println(name + "不存在");
}
}
s.close();
}
catch (Exception e)
{
throw new RuntimeException("登陆失败");
}
}
}
复制代码
作者:
ilvsoft
时间:
2014-4-6 16:00
表示正在学习,对于导入的哪些还没有学习到
作者:
霍振鹏
时间:
2014-4-6 16:58
亲 ,这是你的代码,太不小心了
369.png
(15.83 KB, 下载次数: 38)
下载附件
2014-4-6 16:58 上传
作者:
追逐
时间:
2014-4-6 19:16
霍振鹏 发表于 2014-4-6 16:58
亲 ,这是你的代码,太不小心了
额。竟然是这个问题。太感谢你了,不然我会郁闷到翘的。这种问题真的很郁闷
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2