网路编程的实例


package com.itcast.demo01.TCP;

import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.net.ServerSocket;import java.net.Socket;

/** * @author newcityman * @date 2019/7/30 - 22:57 * TCP通信的服务器端:接受客户端的请求,读取客户端发送的数据 ,给客户端回写数据 * 表示服务器的类: *      java.net.serverSocket * * 服务器的实现步骤 *     1、创建服务器ServerSocket对象和系统要指定的端口号 *     2、使用ServerSocket对象中的accept方法,获取到请求的客户端对象Socket *     3、使用Socket对象中的方法getInputStream()获取网络字节流InputStream对象 *     4、使用网络字节输入流InputStream对象中的方法read,读取客户端发送的数据 *     5、使用Socket对象中的方法getOutputStream()获取网络字节输出流OutputStream对象 *     6、使用网路字节输出流OutputStream对象中的方法write,给客户端会写数据 *     7、释放资源 * */public class TCPServer {    public static void main(String[] args) throws IOException {        ServerSocket server= new ServerSocket(8888);        Socket socket = server.accept();        InputStream is= socket.getInputStream();        byte[] bytes = new byte[1024];        int len = is.read(bytes);        System.out.println(new String(bytes,0,len));        OutputStream os = socket.getOutputStream();        os.write("收到谢谢".getBytes());        socket.close();        os.close();    }

}
package com.itcast.demo01.TCP;

import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.net.Socket;

/** * @author newcityman * @date 2019/7/30 - 22:41 * 要求: *     实现客户端和服务器端之间的数据交互 * 实现步骤: *      1、创建一个客户端对象Socket,构造方法绑定服务器的ip地址和端口号 *      2、使用Socket对象中的方法getOutputStream()获取网络字节输出流OutputStream对象 *      3、使用网络字节输出流OutputStream对象中的方法write,给服务器发送数据 *      4、使用Socket对象中的方法getInputStream()获取网络字节输入流InputStream对象 *      5、使用网络字节输入流InputStream对象中的方法read,接受服务器发送过来的数据 *      6、释放资源 * *  注意: *  1、客户端和服务器端进行交互,必须使用Socket中提供的网络流,不能使用自己创建的流 *  2、当我们创建客户端对象Socket的时候,就会去请求服务器和服务器进行3次握手建立连接通路 *        此时如果服务器没有启动,则会抛出异常 *        如果服务器已经启动,就可以进行正常的数据交互 */public class TCPClient {    public static void main(String[] args) throws IOException {        Socket socket = new Socket("127.0.0.1",8888);        OutputStream out = socket.getOutputStream();        out.write("建军节快乐".getBytes());        InputStream inputStream = socket.getInputStream();        byte[] bytes = new byte[1024];        int len = inputStream.read(bytes);        System.out.println(new String(bytes,0,len));        socket.close();

    }}
 

原文地址:https://www.cnblogs.com/newcityboy/p/11273551.html

时间: 2024-10-28 14:47:53

网路编程的实例的相关文章

Oracle PL/SQL 编程基础 实例

create table mytest(name varchar(20),password varchar(30)); create or replace procedure sp_pro2 is begin insert into mytest values('fc','123'); end; 查看错误信息 show error 如何调用该过程: 1, exec 过程名 (参数,..) 2.  call 过程名 (参数  ) set server output on begin dbms_ou

Oracle PL/SQL 编程基础 实例 2

if  循环  控制语句 if--then        endif if----then ----else   endif if-----then --elsif then ----else     endif --编写一个过程,可以 输入一个雇员名,如果该雇员的工资低于2000就给他增加10% create   or replace procedure  sp_pro6(spName varchar2) is v_sal  emp.sal %type; begin select sal in

《C#并发编程经典实例》笔记

1.前言 2.开宗明义 3.开发原则和要点 (1)并发编程概述 (2)异步编程基础 (3)并行开发的基础 (4)测试技巧 (5)集合 (6)函数式OOP (7)同步 1.前言 最近趁着项目的一段平稳期研读了不少书籍,其中<C#并发编程经典实例>给我的印象还是比较深刻的.当然,这可能是由于近段日子看的书大多嘴炮大于实际,如<Head First设计模式><Cracking the coding interview>等,所以陡然见到一本打着"实例"旗号的

C语言与MATLAB接口 编程与实例 李传军编着

罗列一下以前自己学习C语言与MATLAB混编的笔记,顺便复习一遍. <C语言与MATLAB接口 编程与实例 李传军编着>(未看完,目前看到P106) 目录P4-8 ****************************************************** C-MEX函数:从MATLAB调用C语言或Fortran语言编写的函数. MEX文件:是一种按一定格式,使用C语言或者FORTRAN语言编写的,由MATLAB解释器自动调用并执行的动态链接函数.在Windows系统中,MEX

Linux 程序设计学习笔记----终端及串口编程及实例应用

转载请注明出处,http://blog.csdn.net/suool/article/details/38385355. 部分内容类源于网络. 终端属性详解及设置 属性 为了控制终端正常工作,终端的属性包括输入属性.输出属性.控制属性.本地属性.线路规程属性以及控制字符. 其在系统源代码的termios.h中定义(具体的说明文档http://pubs.opengroup.org/onlinepubs/7908799/xsh/termios.h.html),其结构体成员主要是 Thetermios

java UDP网路编程

大家都知道java中的socket网络编程,而其采用的协议分别有tcp和udp协议两种. 通常的理解tcp协议类似于打电话,udp类似于发短信.前者是线程安全的,但是效率比较低.后者则刚好相反. 今天就做个demo来了解一下udp网络编程. 首先是客户端: package javasocket.demo; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.InetSocketAddres

Java网络编程-Nio 实例代码

IO NIO 区别请看 : http://blog.csdn.net/jiangtao_st/article/details/38041479 一.基于Nio的 Server ,过程略复杂,但是无疑这样的效率高:代码中得注释比较详细,请看注释说明 package com.zhuoxuan.net.nio; import java.io.IOException; import java.net.InetSocketAddress; import java.net.ServerSocket; imp

Cr多线程编程简单实例

国家using System; using System.Collections;using System.Collections.Generic;using System.Threading; /// <summary>/// 在开发中经常会遇到线程的例子,如果某个后台操作比较费时间,我们就可以启动一个线程去执行那个费时的操作,同时程序继续执行.在某些情况下可能会出现多个线程的同步协同的问题,下面的例子就展示了在两个线程之间如何协同工作.//////这个程序的思路是共同做一件事情(从一个Ar

多继承c3算法与网路编程

一.多继承c3算法 1.经典类与新式类 在python2之中,可以编写经典类和新式类,但是在python3之中编写的都是新式类 新式类,若自己和自己的前辈但凡有一个继承object,那么此类则为新式类 2.经典类和新式类的查找方法 经典类,深度优先的查找方式,即一条路走到黑,在先左后右的大方针之下,每一条查找到底在切换另一条线路 新式类,c3算法,使用Foo.__mro__可以查看Foo类的继承顺序,和__super__类似 3.c3算法 首先我们需要将每一条线路都写出来,大方针还是由左至右,r