java网络编程实例_关于java网络编程的实例代码
服务器端的写法
package com.chinasofti.corejava.ch22;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Scanner;
public class Server {
private static BufferedReader br=null;
private static PrintWriter pw=null;
private static ServerSocket ss;
private static Socket s;
static Scanner scanner=new Scanner(System.in);
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
ss=new ServerSocket(5500);
System.out.println("服务器正常启动。。。。");
//调用ServerSocket的accept方法,可以接受客户端的请求,并返回当前的Socket对象
s=ss.accept();//阻塞方法
System.out.println("连接成功"+s.getRemoteSocketAddress());
//获得基于Socket的输入流
br=new BufferedReader(new InputStreamReader(s.getInputStream()));
//获得基于Socket的输出流
pw=new PrintWriter(new OutputStreamWriter(s.getOutputStream()));
while(true){
String string=br.readLine();
System.out.println("Server读到:"+string);
System.out.println("Server端请输入:");
String str=scanner.next();
pw.println(str);
pw.flush();
if(str.equals("exit")){
break;
}
}
} catch (Exception e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
try {
pw.close();
br.close();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
}
客户端的写法
package com.chinasofti.corejava.ch22;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.InetAddress;
import java.net.Socket;
import java.util.Scanner;
public class Client {
private static PrintWriter pw=null;
private static BufferedReader br=null;
private static Socket s;
static Scanner scanner=new Scanner(System.in);
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
s=new Socket(InetAddress.getLocalHost(),5500);
pw=new PrintWriter(new OutputStreamWriter(s.getOutputStream()));
br=new BufferedReader(new InputStreamReader(s.getInputStream()));
while(true){
System.out.println("Client端请输入:");
String str = scanner.next();
pw.println(str);
pw.flush();
String string=br.readLine();
System.out.println("Client读到:"+string);
if(str.equals("exit")){
s.close();
break;
}
}
}catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
br.close();
pw.close();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
}
java网络编程实例_关于java网络编程的实例代码相关推荐
- python爬取公交车站数据_Python爬虫实例_城市公交网络站点数据的爬取方法
爬取的站点:http://beijing.8684.cn/ (1)环境配置,直接上代码: # -*- coding: utf-8 -*- import requests ##导入requests fr ...
- java项目----教务管理系统_基于Java的教务管理系统
java项目----教务管理系统_基于Java的教务管理系统 2022-04-22 18:18·java基础 最近为客户开发了一套学校用教务管理系统,主要实现学生.课程.老师.选课等相关的信息化管理功 ...
- java 安卓客户端开发_《安卓网络编程》之第一篇 java环境下模拟客户端、服务器端...
1.Socket简介 在网络上的两个程序通过一个双向的通信连接实现数据的交换,这个双向链路的一端称为一个Socket.Socket通常用来实现客户方和服务方的连接.Socket是TCP/IP协议的一个 ...
- java爬虫面试题_使用Java实现网络爬虫
网络爬虫 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本. 另外一些不常使用的名字还有蚂蚁.自动索引.模 ...
- java 数据结构实例_数据结构(Java)——栈的实例
惟大英雄能本色,是真名士自风流 --易中天(百家讲坛) 1.表达式的转换 1.1 中缀表达式转前缀表达式 中缀表达式转前缀表达式有许多的方式,有加括号去除法.语法树遍历法.堆栈处理法1. 测试程序的实 ...
- java 函数式编程 示例_功能Java示例 第1部分–从命令式到声明式
java 函数式编程 示例 功能编程(FP)的目的是避免重新分配变量,避免可变的数据结构,避免状态并全程支持函数. 如果将功能性技术应用于日常Java代码,我们可以从FP中学到什么? 在这个名为&qu ...
- Java并发编程实战_福州java编程实战培训班排名
如何选择福州java培训中心? 在福州,如果想迅速掌握java开发,参加福州java培训班无疑是一种非常有效的方式.但是,市场上有这么多的java培训机构,我们在选择的时候难免会眼花缭乱.福州java ...
- python网络编程内容_图解Python网络编程
Python Python开发 Python语言 图解Python网络编程 本篇索引 (1)基本原理 本篇指的网络编程,仅仅是指如何在两台或多台计算机之间,通过网络收发数据包:而不涉及具体的应用层功能 ...
- java 是否含有日文_《JAVA编程思想》5分钟速成:第9章(接口)
第9章 接口 前言: 1.抽象类(abstract class)和接口(interface)有什么异同? 2.抽象的(abstract)方法是否可同时是静态的(static),是否可同时是本地方法(n ...
- java换成中文_如果我们的编程替换成中文会变成怎样?
首先大概的看一下中文编码: 你以为会写中文就会编程吗?这就像你以为会写汉字就会写出好文章一样.编程是和机器沟通,因此要用机器的语言而不是人类的语言.最早的程序就是0和1的数字,不是中文也不是英文.以前 ...
最新文章
- 深度|​揭秘5G+AI时代的机器人世界!七大核心技术改变人类生活!
- TCP/IP 详解卷一 - TCP CWR、ECE、URG、ACK、PSH、RST、SYN、FIN控制位
- node入门-学习笔记
- php调用selenium,通过PHP exec()执行Selenium webdriver
- 分享一个JAVA专业接口开发利器,牛牛牛新鲜出炉!!!
- 【Python】自动化升级所有pip安装的包
- Python 使用requests发送POST请求
- 一、SCVMM2008R2安装部署
- 稀疏表示的合适字典_基于共振稀疏分解的滚动轴承早期微弱故障诊断
- 074-enable-right-click
- 国密算法(SM2)简介及SM2生成秘钥
- html展开折叠菜单,纯CSS竖向滑动展开折叠菜单
- java 僵尸进程_神奇的Java僵尸(defunct)进程问题排查过程
- “顺丰杯”包装设计大赛背后的故事:浅谈顺丰的产学研包装生态圈布局
- word图文混排复制到xhEditor图片不显示
- 安装mysql的初始密码在哪里
- pandas基础篇一
- 协处理器CP15介绍—MCR/MRC指令(6)
- 测试管理及项目测试流程
- Python sqrt()函数的使用
热门文章
- SAP Spartacus读取User Address的action是如何被Effect接收的
- SAP Spartacus入口Component - StorefrontComponent
- SAP Cloud for Customer的inscreen_dataflow处理方式
- file encode - /UI2/CL_HTTP_FILE_ENCODE
- UI5 xml view里control id的生成逻辑
- SAP CRM呼叫中心点了interact按钮后的处理逻辑
- 使用report clear appointment的all day flag
- SAP ABAP实用技巧介绍系列之将unicode字符转换成中文
- SAP S/4HANA生产订单创建时使用的工厂数据是从什么地方带出来的 1
- python两个类共用一个变量_python – 如何从一个类到另一个类访问变量?