用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字
云代码 - java代码库

java Socket readLine()阻塞

2015-03-15 作者: java源代码大全举报

[java]代码库

//客户端

class LoginClient

{

	public static void main(String[] args) throws Exception

	{

		Socket s = new Socket("192.168.4.121", 10008);



		BufferedReader bufr = new BufferedReader(new InputStreamReader(System.in));



		PrintWriter out = new PrintWriter(s.getOutputStream(), true);



		BufferedReader bufIn = new BufferedReader(new InputStreamReader(s.getInputStream()));



		for (int x=0; x<3; x++)

		{

			String line = bufr.readLine();

			if(line==null)

				break;



			out.println(line);

			System.out.println("22!!!!!!!!!");

			String info = bufIn.readLine();System.out.println("33!!!!!!!!!");

			System.out.println("info:"+info);

			if(info.contains("欢迎"))

				break;

		}



		bufr.close();

		s.close();

	}

}





//服务端线程

class UserThread implements Runnable

{

	private Socket s;

	UserThread(Socket s)

	{

		this.s = s;

	}

	public void run()

	{

		String ip = s.getInetAddress().getHostAddress();

		try

		{

			System.out.println(ip+"....connected");



			for (int x=0; x<3; x++)

			{

				BufferedReader bufIn = new BufferedReader(new InputStreamReader(s.getInputStream()));



				String name = bufIn.readLine();

				if(name==null)

					break;



				BufferedReader bufr = new BufferedReader(new FileReader("user.txt"));



				PrintWriter out = new PrintWriter(s.getOutputStream());



				String line = null;



				boolean flag = false;

				while ((line=bufr.readLine())!=null)

				{

					if(line.equals(name))

					{

						flag = true;

						break;

					}

				}

				if (flag)

				{

					System.out.println(name+" 已登录");

					out.println(name+",欢迎观临!");

					break;

				}

				else

				{

					System.out.println(name+" 尝试登录");System.out.println("4!!!!!!!!!");

					out.println(name+",用户名不存在!\n\t");System.out.println("5!!!!!!!!!");

				}

			}

			s.close();

		}

		catch (Exception e)

		{

			System.out.println(e);

			//throw new RuntimeException(ip+":检验失败!!");

		}

	}

}



class LoginServer

{

	public static void main(String[] args) throws Exception

	{

		ServerSocket ss = new ServerSocket(10008);

		while(true)

		{

			Socket s = ss.accept();

			new Thread(new UserThread(s)).start();

		}

	}

}

//源代码片段来自云代码http://yuncode.net
			


网友评论    (发表评论)


发表评论:

评论须知:

  • 1、评论每次加2分,每天上限为30;
  • 2、请文明用语,共同创建干净的技术交流环境;
  • 3、若被发现提交非法信息,评论将会被删除,并且给予扣分处理,严重者给予封号处理;
  • 4、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。


扫码下载

加载中,请稍后...

输入口令后可复制整站源码

加载中,请稍后...