黑马程序员——TCP的客户端与服务器端

/*  TCP 的客户端与服务器端

客户端:

1,建立Socket连接,制定服务器端的IP地址和端口号

2,获取流中的输入和输出流对象来操作数据

3.利用write方法将数据写出

4.关闭客户端

服务器端:

1.利用serverSocket指定端口与客户端建立连接

2.获取客户端对象,accept()方法

3.利用客户端对象获取输入和输出流对象来操作数据

4.提取数据,

5,一定时间后关闭客户端,服务器端一般不需要关闭

*/

import java.io.*;

import java.net.*;

class Client{  public static void main(String [] args) throws Exception{

//建立客户端连接,指点服务器端的IP和端口号

Socket socket = new Socket("192.168.0.102",25000);

//获取服务器端的输出流对象输出数据

OutputStream outputStream = socket.getOutputStream();

//从键盘接收数据   BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));

String str = null;

//切记:read是阻塞式方法

while((str = bufferedReader.readLine())!=null){

byte[] buf = str.getBytes();

//写出数据

outputStream.write(buf,0,buf.length);

//outStream.flush();

}

//关闭流,关闭客户端

bufferedReader.close();   socket.close();

} }

class Server{

public static void main(String [] args) throws Exception{

//建立服务器端连接,并指定端口

ServerSocket serverSocket = new ServerSocket(25000);

//获取客户端对象,accetp是阻塞式方法

Socket socket = serverSocket.accept();

//获取客户端对象的输入流来读取数据

InputStream inputStream = socket.getInputStream();

//存放数据

byte[] buf = new byte[1024];

int len = 0;

//获取数据信息

while((len = inputStream.read(buf))!=-1){

int port = socket.getPort();

String ip = socket.getInetAddress().getHostAddress();

String data = new String(buf,0,len);

System.out.println(ip+".."+data+".."+port);

}

//关闭客户端   socket.close();

} }

黑马程序员——TCP的客户端与服务器端

时间: 2024-10-11 20:31:26

黑马程序员——TCP的客户端与服务器端的相关文章

黑马程序员 【】java学习之路——TCP(三)客户端上传文件到服务器

------- <a href="http://www.itheima.com" target="blank">android培训</a>.<a href="http://www.itheima.com" target="blank">java培训</a>.期待与您交流! ---------- import java.io.*; import java.net.*; class

黑马程序员 网络编程 UDP与TCP

---------------------- ASP.Net+Unity开发..Net培训.期待与您交流! ----------------------/* 网络编程分为两种模式:TCP和UDP 连接互联网的计算机以亿计,为了唯一的标识出每台电脑,互联网就给每台电脑分配一个 唯一独立的ip地址,通过这个ip地址就可以进行计算机之间的数据交换 我们计算机交换的数据功能我们在java中把它封住成一个叫Socket的类, 简称套接字, 端口号:计算机数据的交换一般都是电脑上的程序来维护的,而电脑上又运

黑马程序员_毕向东_Java基础视频教程_Java基础学习知识点总结

黑马程序员_毕向东_Java基础视频教程 Java基础学习知识点总结 2016年01月06日  day01 一.基础知识:软件开发 1.什么是软件?软件:一系列按照特定顺序组织的计算机数据和指令的集合. 2.常见的软件:系统软件:如:DOS,Windows,Linux等.应用软件:如:扫雷,迅雷,QQ等. 3.什么是开发?制作软件. 二.基础知识:人机交互方式 4.软件的出现实现了人与计算机之间的更好的交互. 5.交互方式:图形化界面:这种方式简单直观,使用者易于接受,容易上手操作.命令行方式:

黑马程序员_JAVA UDP网络编程学习笔记

一.UDP网络编程概述 采用TCP协议通信时,客户端的Socket必须先与服务器建立连接,连接建立成功后,服务器端也会持有客户端连接的Socket,客户端的Socket与服务器端的Socket是对应的,它们构成了两个端点之间的虚拟通信链路.与TCP通信不同,UDP是面向无连接的.不可靠的基于数据包的传输协议.即应用进程(或程序)在使用UDP协议之前,不必先建立连接.自然,发送数据结束时也没有连接需要释放.因此,减少了开销和发送数据之前的延时.UDP也采用端口来区分进程. 在java中,java.

黑马程序员_Java网络编程

1,IP地址和InetAddress IP地址是互联网上每台计算机都有的自己的标记,IP地址分为5类,A类保留给政府,B类给中等规模的公司,C类给任何需要的人,D类用于组播,E类用于实验. A类  1.0.0.1-126.255.255.254  B类  128.0.0.1-191.255.255.254   C类  192.0.0.1-223.255.255.254  D类 244.0.0.1-239.255.255.254 E类 240.0.0.1-255.255.255.254 在以后开发

黑马程序员——网络编程篇

------- android培训.java培训.期待与您交流! ---------- 概述   1.网络模型        (1).OSI参考模型        (2).TCP/IP参考模型   2.网络通讯要素         (1).IP地址        (2).端口号         (3).传输协议    3.过程        1,找到对方IP. 2,数据要发送到对方指定的应用程序上.为了标识这些应用程序,所以给这些网络应用程序都用数字进行标识. 为了方便称呼这个数据,叫做端口(逻

黑马程序员_IO流2

File类 1.File类 不属于流对象.作用:将机器上的路径和目录封装成一个File对象,提供了很多的方法和成员变量,让我们操作目录和路径   目录就是文件夹.路径,指由文件夹组成的到达文件夹的通道. 2.File类的静态成员变量   一共提供的4个变量,掌握的只有2个,跨平台 static String separator  结果\ Windows目录分隔符  Linux下 / static String pathSeparator 结果 ; Windows下的路径与路径之间的分隔符 Lin

黑马程序员——网络编程之CTP传输

TCP传输 Socket和ServerSocket,实现了两台机器间的套接字端点,绑定本机IP地址.建立客户端和服务端,客户端对应的对象是Socket,服务端对应的对象是ServerSocket. //客户端部分 public class ClientA { private String filePath ; public String getFilePath() {return filePath;} public void setFilePath(String filePath ) { thi

黑马程序员__GUI_网络编程

------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流! ------- GUI 1.事件处理就是处理用户的一个操作这个事件,在事件发生的时候程序应做出什么反应.当事件发生在哪个组件上, 哪个组件就可以说是事件源.给事件源添加一个监听器对象,监听器对象中包含若干事件处理方法.如果事件发生了, 事件处理方法就会自