线程数据传输
来源:互联网 发布:c语言extern的作用 编辑:程序博客网 时间:2024/06/05 09:11
{
private Socket socket;
public ClientInputThread(Socket socket)
{
this.socket = socket;
}
@Override
public void run()
{
try
{
InputStream is = socket.getInputStream();
while(true)
{
byte[] buffer = new byte[1024];
int length = is.read(buffer);
String str = new String(buffer, 0, length);
System.out.println(str);
}
}
catch (IOException e)
{
System.out.println("断开连接");
}
}
}
2、
public class ClientOutputThread extends Thread
{
private Socket socket;
public ClientOutputThread(Socket socket)
{
this.socket = socket;
}
@Override
public void run()
{
try
{
OutputStream os = socket.getOutputStream();
while(true)
{
BufferedReader reader = new BufferedReader(new InputStreamReader(
System.in));
String line = reader.readLine();
os.write(line.getBytes());
}
}
catch (IOException e)
{
System.out.println("断开连接");
}
}
}
3、public class ServerInputThread extends Thread
{
private Socket socket;
public ServerInputThread(Socket socket)
{
this.socket = socket;
}
@Override
public void run()
{
try
{
InputStream is = socket.getInputStream();
while(true)
{
byte[] buffer = new byte[1024];
int length = is.read(buffer);
String str = new String(buffer, 0, length);
System.out.println(str);
}
}
catch (IOException e)
{
System.out.println("断开连接");
}
}
}
4、
public class ServerOutputThread extends Thread
{
private Socket socket;
public ServerOutputThread(Socket socket)
{
this.socket = socket;
}
@Override
public void run()
{
try
{
OutputStream os = socket.getOutputStream();
while(true)
{
BufferedReader reader = new BufferedReader(new InputStreamReader(
System.in));
String line = reader.readLine();
os.write(line.getBytes());
}
}
catch (IOException e)
{
System.out.println("断开连接");
}
}
}
5、public class MainServer
{
public static void main(String[] args) throws Exception
{
ServerSocket serverSocket = new ServerSocket(4000);
while(true)
{
try{
Socket socket = serverSocket.accept();
//启动读写线程
new ServerInputThread(socket).start();
new ServerOutputThread(socket).start();
}
catch (Exception e) {
System.out.println("断开连接");
}
}
}
}
6、
public class MainClient
{
public static void main(String[] args) throws Exception, IOException
{
Socket socket = new Socket("127.0.0.1", 4000);
new ClientInputThread(socket).start();
new ClientOutputThread(socket).start();
}
}
- 线程数据传输
- 线程间数据传输
- Exchanger 线程之间数据传输
- java 网络数据传输之多线程下载
- 线程之间的数据传输之AsyncTask
- 数据传输
- 数据传输
- android--handler的不同线程的创建及数据传输
- 基于托管指针字节码的线程间数据传输
- 多线程编程艺术(4)-线程间数据传输
- c++11多线程之主线程与子线程数据传输与共享
- MFC 自定义子线程新建对话框的数据传输问题 -- 以及由此对MFC的一些思考
- 数据传输对象
- 数据传输方式
- 数据传输问题
- socket数据传输
- 动态数据传输
- vc数据传输
- Oracle内存结构研究-SGA篇
- 我悄悄地蒙上你的眼睛——如何彻底隐藏已安装的软件
- 一则寓言的回忆
- T-SQL查询进阶--理解SQL Server中索引的概念,原理以及其他
- linux mmap 内存映射
- 线程数据传输
- 关于Apache Hadoop 1.0
- 遭遇黑客软件
- new start this year!
- 黑客是否光顾过你的电脑
- cisco 交换机2960配置
- “蓝屏”的原因及处理方法
- Debug调试技巧
- java连接本机access 数据库的方法