TCP学习三

 1 /*
 2 客户端流程:
 3 1.创建客户端socket服务对象,明确连接到哪个主机;
 4 2.将数据写到socket对象的输出流中;
 5 3.获取服务端发送回来的socket对象输入流;
 6 4.关闭服务
 7 */
 8 import java.net.*;
 9 import java.io.*;
10 class TCPSend3
11 {
12     public static void main(String[]args) throws Exception
13     {
14         //创建客户端socket服务对象,与此同时需要明确连接到哪个主机服务端
15         Socket socketSend=new Socket(InetAddress.getByName("127.0.0.1"),10003);
16         //将数据写到socket对象的输出流中
17         BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(socketSend.getOutputStream()));
18         //String data="服务端你好,俺是客户端";
19         //bw.write(data,0,data.length());
20         BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
21         String data;
22         while((data=br.readLine())!=null)
23         {
24             bw.write(data);
25             bw.newLine();//服务端要读到换行符才能打印,因为readLine方法读到换行符才停止一行数据的读取
26             bw.flush();//别忘了这一步,否则服务端收不到数据,为NULL
27         }
28         //关闭服务
29         socketSend.close();
30     }
31 }
32
33 /*
34     1.创建服务端socket服务对象,明确监听的端口号
35     2.获取服务端连接过来的socket对象
36     3.获取客户端发过来的数据(存放在输入流中)
37     4.关闭服务
38 */
39 class TCPReceive3
40 {
41     public static void main(String[]args) throws Exception
42     {
43         //1.创建服务端socket服务对象,明确监听的端口号
44         ServerSocket socketReceive=new ServerSocket(10003);
45         //2.获取服务端连接过来的socket对象
46         Socket socketSend=socketReceive.accept();
47         //3.获取客户端发过来的数据,就是获取客户端socket对象的输入流
48         BufferedReader br = new BufferedReader(new InputStreamReader(socketSend.getInputStream()));
49         String data;
50         while((data=br.readLine())!=null)
51         {
52             System.out.println(data);
53         }
54         //4.关闭服务
55         socketSend.close();//同时关闭连接过来的客户端socket
56         socketReceive.close();
57     }
58 }

时间: 2024-11-10 01:33:21

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

简析TCP的三次握手与四次分手

TCP是什么? 具体的关于TCP是什么,我不打算详细的说了:当你看到这篇文章时,我想你也知道TCP的概念了,想要更深入的了解TCP的工作,我们就继续.它只是一个超级麻烦的协议,而它又是互联网的基础,也是每个程序员必备的基本功.首先来看看OSI的七层模型: 我们需要知道TCP工作在网络OSI的七层模型中的第四层——Transport层,IP在第三层——Network层,ARP在第二层——Data Link层:在第二层上的数据,我们把它叫Frame,在第三层上的数据叫Packet,第四层的数据叫Se

传输控制协议TCP学习(一)

时间:2014.06.25 地点:基地 --------------------------------------------------------------------------------- 一.TCP服务 TCP位于应用层与网络层之间,提供介于应用程序和网络功能之间的服务.主要包括如下服务: 1.1进程到进程的通信 与UDP一样,TCP也使用端口号提供进程到进程的通信 1.2流交付服务 与UDP不一样,TCP是一种面向流的协议. UDP中,进程将已定义好边界的报文发给UDP以便进行

Jetty学习三:配置概览-需要配置什么

上一节讲述了怎么配置Jetty,这节将告诉你使用Jetty你需要配置些什么. 配置Server Server实例是Jetty服务端的中心协调对象,它为所有其他Jetty服务端组件提供服务和生命周期管理.在标准Jetty发布中,核心的服务端配置是在etc/jetty.xml文件中,你也能在其中包含其他服务端配置,可以包括: 1)ThreadPool Server实例提供了一个线程池,你可以在etc/jetty.xml中配置最大线程数和最小线程数. 2)Handlers Jetty服务端只能有一个H

Beaglebone Back学习三(开发环境搭建)

开发环境搭建 1 Ubuntu环境搭建 2 Window环境搭建 3 开发板环境搭建 1 Ubuntu环境搭建 (1)安装必要的网络工具 samba nfs tftp vmware-tools samba nfs apt-get install nfs-kernel-server vim  /etc/exports  (/path/to/nfs  *(rw,sync,no_root_squash) ) /etc/init.d/nfs-kernel-server restart (2)配置通信网络

【挨踢人物传】马永亮:感悟学习三境界 引领马哥教育的崛起(第19期)

[编者有话]        本期的嘉宾马永亮,一次误以为是"擅长"的选择,开始结缘计算机,然而当真正接触后才发现犹如"井底之蛙",此前的擅长根本不值一提,从天堂到地狱的落差,没有挫败他的信心和追求,反而激起了他更加强烈的求知欲望,在IT的道路上不断的成长感悟-- [本期人物档案] 个人信息: 51CTO账号:马哥教育 姓名:马永亮 性别:男 所在地:河南郑州 教育信息:研究生 关键词:马哥教育创办人 Linux系统运维专家 51CTO专家博主 51CTO学院签约讲师

简析TCP的三次握手与四次分手(TCP协议头部的格式,数据从应用层发下来,会在每一层都会加上头部信息,进行封装,然后再发送到数据接收端)good

2014-10-30 分类:理论基础 / 网络开发 阅读(4127) 评论(29) TCP是什么? 具体的关于TCP是什么,我不打算详细的说了:当你看到这篇文章时,我想你也知道TCP的概念了,想要更深入的了解TCP的工作,我们就继续.它只是一个超级麻烦的协议,而它又是互联网的基础,也是每个程序员必备的基本功.首先来看看OSI的七层模型: 我们需要知道TCP工作在网络OSI的七层模型中的第四层——Transport层,IP在第三层——Network层,ARP在第二层——Data Link层:在第二

MongoDB入门学习(三):MongoDB的增删查改

对于我们这种菜鸟来说,最重要的不是数据库的管理,也不是数据库的性能,更不是数据库的扩展,而是怎么用好这款数据库,也就是一个数据库提供的最核心的功能,增删查改. 因为MongoDB存储数据都是以文档的模式,所以在操作它的数据时,也是以文档为单位的.那么我们实现增删查改也是以文档为基础,不知道文档是什么的同学可以看看上篇介绍的基本概念. 1.插入文档 向MongoDB集合中插入文档的基本方法是insert: 单个插入 > document = {key : value} > db.collecti

TCP学习之建立一个简单的客户/服务器系统--回射系统

TCP学习之建立一个简单的客户/服务器系统--回射系统 相关的资料可以参考Unix网络编程,这个只是修改版,不需要依赖任何文件,可以独立编译通过,而且是在两台不同的主机上进行的. fggets和fputs这两个函数来自标准I/O函数库,writen和readline见my_unp.h头文件 //my_unp.h #include<stdarg.h> #include<syslog.h> #include<stdio.h> #include<netinet/in.h