15 网络与线程
我们会创建客户端的socket、服务器端的socket,并且会让两端相互交谈。
要创建Socket连接,你得知两项关于服务器的信息:它在哪里以及用哪个端口来收发数据。也就是说IP地址与端口号。
Socket chatSocket = new Socket("196.164.1.103",5000);
Socket连接的建立代表两台机器之间存有对方的信息,包括网络地址和TCP的端口号。
使用BufferedReader从Socket上读取数据
1.建立对服务器的Socket连接
Socket chatSocket = new Socket("127.0.0.1",5000);
2.建立连接到Socket上低层输入串流的InputStreamReader
InputStreamReader stream = new InputStreamReader(chatSocket.getInputStream());
//这个是低层和高层串流间的桥梁 从Socket取得输入串流
3.建立BufferReader来读取
BufferReader reader = new BufferedReader(stream);
String message = reader.readLine();
用PrintWriter写数据到Socket上
1.对服务器建立Socket连接
Socket chatSocket = new Socket("127.0.0.1",5000);
2.建立连接到Socket的PrintWriter
PrintWriter writer = new PrintWriter(chatSocket.getOutputStream());
3.写入数据
writer.println("message to send");
writer.print("another message");
客户端与服务器的应用程序通过Socket连接来沟通。
Socket代表两个应用程序之间的连接,它们可能会是在不同的机器上执行的。
Java的multithread
Java在语言中就有内置多线程的功能。建立新的线程来执行时很简单的:
Thread t = new Thread();
t.start();
线程是独立的线程,它代表独立的执行空间。Thread是Java中用来表示线程的类。要建立线程就得创建Thread。
每个Java应用车程序都会启动一个主线程-将main()放在它自己执行空间的最开始处。Java虚拟机会负责主线程的启动。程序员得负责启动自己建立的线程。