IO流
网络编程的三要素:网络协议,IP地址(主机),端口号(主机的网络软件)
UDP协议:无需建立逻辑连接,不可靠的连接
TCP协议(建立逻辑连接–IO对象 ,三次握手)
客户端的类:socket
服务器的类:seversocket
(必须首先启动服务器才能运行!!!!!然后再打开客户端)
注意:必须先启动服务端,进行监听才能实现
public class TCPServer {
public static void main(String[] args) throws IOException {
ServerSocket server=new ServerSocket(8888);//注意写的客户端的端口号,运行电脑显示监听状态
Socket socket=server.accept();//服务器获取端口号为8888的用户的IO流
//服务器读取客户端的数据
InputStream is=socket.getInputStream();
byte[] bs=new byte[1024];
int len=is.read(bs);
System.out.println(new String(bs,0,len));
//服务器向客户端回复即发送数据
OutputStream os=socket.getOutputStream();
os.write("收到谢谢".getBytes());
socket.close();
server.close();
}
}
*/
public class TCPClient {
public static void main(String[] args) throws IOException {
Socket socket=new Socket("127.0.0.1",8888);
//客户端给服务器发送数据
OutputStream os=socket.getOutputStream();
os.write("你好服务器".getBytes());
//客户端接收服务器的数据
InputStream is=socket.getInputStream();
byte[] bs=new byte[1024];
int len=is.read(bs);
System.out.println(new String(bs,0,len));
socket.close();
}
}