您的位置:首页 > 理论基础 > 计算机网络

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();

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: