TCP通讯
2015-09-08 22:34
567 查看
[java] view
plaincopyprint?
注意read、readLine方法时阻塞式的,所以注意newLine添加换行
[java] view
plaincopyprint?
/*
建立一个文本转换器,
客户端给服务端发送文本,服务端会将文本进行转换,返回给客户端
分析:
客户端:
1、既然操作设备上的数据,就可以使用IO技术。
源:键盘录入。
目的:网络输出流
而且操作是文本数据,可以使用字符流。
*/
import java.net.*;
import java.io.*;
import java.lang.*;
import java.lang.Exception;
class TransClient
{
public static void main(String[] args) throws Exception
{
Socket s = new Socket("222.49.250.147",10001);
//定义读取键盘信息
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
//定义目的,将数据写入到socket输出流,发给服务端
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
String line = null;
while((line = br.readLine()) != null)
{
bw.write(line);
bw.newLine();
bw.flush();
if("over".equals(line))
break;
}
//定义一个socket读取流,读取服务器返回的额值。
BufferedReader brServer = new BufferedReader(new InputStreamReader(s.getInputStream()));
line = null;
while((line = brServer.readLine()) != null)
{
System.out.println(line);
}
brServer.close();
bw.close();
}
}
/*
将读取的字母转换成大写发送到客户端。
*/
class TransServer
{
public static void main(String [] args) throws Exception
{
ServerSocket ss = new ServerSocket(10001);
Socket s = ss.accept();
String ip = s.getInetAddress().getHostAddress();
System.out.println(ip + "is connected");
//定义一个流,用于读取客户端信息
BufferedReader br = new BufferedReader(new InputStreamReader(s.getInputStream()));
//处理输出,返回到客户端
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
String line = null;
while((line = br.readLine()) != null)
{
System.out.println(line);
bw.write(line.toUpperCase());
bw.newLine();
bw.flush();
}
bw.close();
br.close();
}
}
plaincopyprint?
注意read、readLine方法时阻塞式的,所以注意newLine添加换行
[java] view
plaincopyprint?
/*
建立一个文本转换器,
客户端给服务端发送文本,服务端会将文本进行转换,返回给客户端
分析:
客户端:
1、既然操作设备上的数据,就可以使用IO技术。
源:键盘录入。
目的:网络输出流
而且操作是文本数据,可以使用字符流。
*/
import java.net.*;
import java.io.*;
import java.lang.*;
import java.lang.Exception;
class TransClient
{
public static void main(String[] args) throws Exception
{
Socket s = new Socket("222.49.250.147",10001);
//定义读取键盘信息
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
//定义目的,将数据写入到socket输出流,发给服务端
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
String line = null;
while((line = br.readLine()) != null)
{
bw.write(line);
bw.newLine();
bw.flush();
if("over".equals(line))
break;
}
//定义一个socket读取流,读取服务器返回的额值。
BufferedReader brServer = new BufferedReader(new InputStreamReader(s.getInputStream()));
line = null;
while((line = brServer.readLine()) != null)
{
System.out.println(line);
}
brServer.close();
bw.close();
}
}
/*
将读取的字母转换成大写发送到客户端。
*/
class TransServer
{
public static void main(String [] args) throws Exception
{
ServerSocket ss = new ServerSocket(10001);
Socket s = ss.accept();
String ip = s.getInetAddress().getHostAddress();
System.out.println(ip + "is connected");
//定义一个流,用于读取客户端信息
BufferedReader br = new BufferedReader(new InputStreamReader(s.getInputStream()));
//处理输出,返回到客户端
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
String line = null;
while((line = br.readLine()) != null)
{
System.out.println(line);
bw.write(line.toUpperCase());
bw.newLine();
bw.flush();
}
bw.close();
br.close();
}
}
相关文章推荐
- ListView优化,获取网络图片异步加载,分批加载,分页显示,图片缓存等优化方式
- Android网络编程之JSON解析
- centos6.5 openjdk https/ssl兼容性错误ECKeyPairGenerator.generateKeyPair
- HDU 5046 Airport (2014年上海赛区网络赛E题)
- 卷积神经网络(CNN)
- Kali Linux解决有线网络托管问题
- 网络常考
- java模拟http的Get/Post请求,并设置ip与port代理
- Linux系统--Linux网络管理与配置
- Java之-----------TCP编程(小练习大用处)
- HTTP 状态码
- TCP/IP各层协议、工作设备、网络地址划分总结 《TCP-IP详解卷1:协议》读书笔记一 概述(内附思维导图)
- Big Number(http://acm.hdu.edu.cn/showproblem.php?pid=1018)
- 第18章(四)TCP非正常关闭
- Linux 部分(tcp\ip)系统内核优化
- 第18章 (三)TCP非正常打开
- Linux网络属性配置管理及其相关命令
- Linux精品之NFS介绍与应用(双httpd + php-fpm + nfs + mysql 搭建discuz论坛)
- 第18章(二)TCP状态变迁图与2MSL等待状态
- SDWebImage\ASIHttpRequest是第三方库