QQ_SingleTalkClient
package test_teacher;
import java.io.*;
import java.net.*;
public class SingleTalkClient
{
public static void main(String[] args) throws IOException
{
Socket client = null;
PrintWriter out = null;
BufferedReader in = null;
try {
client = new Socket("127.0.0.1", 4444);
out = new PrintWriter(client.getOutputStream(), true); //auto flush
in = new BufferedReader(new InputStreamReader(client.getInputStream()));
} catch (UnknownHostException e) {
System.err.println("Don't know about host: 127.0.0.1.");
System.exit(1);
} catch (IOException e) {
System.err.println("Couldn't get I/O for the connection to: 127.0.0.1.");
System.exit(1);
}
//从标准输入流(键盘)中获取信息
BufferedReader stdIn = new BufferedReader(new InputStreamReader(System.in));
String fromServer, fromUser;
boolean sbye = false;
boolean ubye = false;
System.out.print("Client input:");
fromUser = stdIn.readLine();
while( true ){
if( ubye == false )
{
out.println(fromUser);
out.flush();
//System.out.println("Client: " + fromUser);
if (fromUser.equals("Bye."))
ubye = true;
}
if( sbye == false )
{
fromServer = in.readLine();
System.out.println("from Server: " + fromServer);
if (fromServer.equals("Bye."))
sbye = true;
}
if( ubye == false )
{
System.out.print("Client input:");
fromUser = stdIn.readLine();
}
if( ubye == true && sbye == true )
break;
}
out.close();
in.close();
stdIn.close();
client.close();
}
}
QQ_SingleTalkClient的更多相关文章
随机推荐
- angular2入门,就这一篇就够了
背景与概念: AngularJS2 是一款开源JavaScript库,由Google维护,用来协助单一页面应用程序运行. AngularJS2 是 Angular 1.x 的升级版本,性能上得到显著的 ...
- java中 i = i++ 的结果
昨天看到下面这段代码,分享出来给大家看看,大家也可以讨论讨论. int i = 0; i = i++; System.out.println("i的值是 "+i); 根据我们通常所 ...
- WF学习思维导图
原文 来自我的有道笔记-老文重发系列 如果配置加载核心服务,那么需要将持久化服务和跟踪服务放在一个数据库中! 1.用工作流的优点 a.提供将复杂任务分解的途径,通过将每个操作分解到活动中更便于业务 ...
- .net core 部署 centos7 初试
最近抽时间搞搞.net core,这方面已经有很多先驱人物贡献了好多文章了,今天沿着前辈们走的坑自己再淌一下...... 注意开头说的使用centos7,我电脑之前全是6.几的版本,然后就一头雾水的搞 ...
- fastjson将json格式null转化空串
生成JSON代码片段 Map < String , Object > jsonMap = new HashMap< String , Object>(); jsonMap.pu ...
- 设置iPhone网页固定到桌面上的图标
<!--IOS Icon--> <link rel="apple-touch-icon-precomposed" href="@Url.Content( ...
- C# const和readonly修饰符的区别
const 的概念就是一个包含不能修改的值的变量.常数表达式是在编译时可被完全计算的表达式.因此不能从一个变量中提取的值来初始化常量.如果 const int a = b+1;b是一个变量,显然不能再 ...
- Android-自定义控件之时针-霞辉
注释已经比较详细了,废话就不多说了.贴代码了 时针分针秒钟都做上去了,采用的方法也很简单,仔细看一会就能看懂 自定义View类 package com.xh.mytime; import java.u ...
- 【一】Swift 3.0 新浪微博项目实战 -整体框架搭建
最近要接手swift,所以找了个视频跟着做一下实战项目,在此记录一下过程和心得 框架搭建和目录拆分 关键词:MVVM 架构,桥接文件 桥接文件用于引入OC的头文件,Swift就可以正常使用(宏除外). ...
- java学习笔记 --- 面向对象
一.对象和类 类(class):类是用于描述现实事物的,它将现实事物进行抽象化,模板化描述.将事物的特点(属性)和行为封装在其中.比如小汽车的图纸,图纸就是小汽车的模版.图纸上画着小汽车的各种特点和功 ...