以前学基础没学这块。这几天看了点视频。写点简单的!
仅实现了客户端想服务器段发送一条消息,服务器收到消息打印。
如果要扩展应该是client端也应该有输入流对象,来接收服务器端发的消息
对应的服务器端也有输出流对象用来向客户端写信息。
如果是多个客户端,还应该考虑多线程的使用。线程目前是搞不清楚。呜呜
本人水平太垃圾,还望各位高手指教啊!呵呵!
TCPClient.java
package com.cstp.net;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.net.Socket;
import java.net.UnknownHostException;
public class TcpClient {
public static void main(String[] args) throws UnknownHostException, IOException, InterruptedException {
Socket s=new Socket("127.0.0.1",8888);
//因为要发送信息给server,构造输出流
OutputStream os = s.getOutputStream();
//包装成数据流
DataOutputStream dos=new DataOutputStream(os);
//将数据写到流中发送
dos.writeUTF("hello server!!!");
dos.flush();
dos.close();
s.close();
}
}
TcpServer.java
package com.cstp.net;
import java.io.DataInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.ServerSocket;
import java.net.Socket;
public class TcpServer {
public static void main(String[] args) throws IOException, InterruptedException {
ServerSocket ss=new ServerSocket(8888);
//很多的客户端连接,只有接受后才能使用,获取消息,阻塞式
Socket as = ss.accept();
//获取消息
InputStream is = as.getInputStream();
//包装成数据流
DataInputStream dis=new DataInputStream(is);
//读取发来的数据
String message=dis.readUTF();
System.out.println(message);
dis.close();
as.close();
}
}