网络Socket,ServerSocket
//客户端:
package com.gxnu.study.net;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.Socket;
public class Client {
public static void main(String[] args) {
try {
//建立客户端Socket连接,指定服务器的位置和端口
Socket socket = new Socket("192.168.224.12", 9999);
//打开输入输出流
OutputStream os = socket.getOutputStream();
String info = null;
/*
* System.in-->InputStream
* new InputStream(...)把字节流转化为字符流
*/
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
while((info = br.readLine())!=null){
os.write((info+"\n").getBytes());
}
//关闭资源
os.close();
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
//服务器端
package com.gxnu.study.net;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;
public class Server {
public static void main(String[] args) {
try{
//建立一个服务器Socket(ServerSocket)指定端口并开始监听
ServerSocket serverSocket = new ServerSocket(9999);
//使用accept()方法等待客户端触发通信
Socket socket = serverSocket.accept();
//打开输入输出流
InputStream is = socket.getInputStream();
//获取客户端信息,即从输入流读取信息
BufferedReader br = new BufferedReader(new InputStreamReader(is));
String info = null;
while(!((info=br.readLine())==null)){
System.out.println("服务器,客户信息为:"+info);
}
//关闭资源
br.close();
is.close();
socket.close();
serverSocket.close();
}catch(IOException e){
e.printStackTrace();
}
}
}
转载于:https://www.cnblogs.com/jiminluo/p/9357319.html
网络Socket,ServerSocket相关推荐
- java socketserver多线程_JAVA I/O(五)多线程网络Socket和ServerSocket
上篇文章介绍了Socket和ServerSocket简单使用和源码,服务器端会对每个客户端请求创建一个线程,为使服务器端能同时处理多个客户端请求,可以采用多线程的方式.本文仅对实例进行简单记录,如下. ...
- Socket/ServerSocket 选项
Socket/ServerSocket 选项 原文:Socket/ServerSocket 选项 在网络编程中,Socket/ServerSocket有一些选项用来自定义一些行为,现在分享一下. So ...
- java基础 day12-FileInputStream类,文件的复制,缓冲流,Propertes文件,xml文件读写,网络socket编程(构建TCP客户端),内部类
FileInputStream类的其他常用方法() /**在project下新建temp文件,内容为abcdef*FileInputStream类的其他常用方法:* int available():返 ...
- java web接收tcp_Java多线程实现TCP网络Socket编程(C/S通信)
开篇必知必会 在前一篇<基于TCP协议网络socket编程(java实现C/S通信)>,实际存在一个问题,如果服务器端在建立连接后发送多条信息给客户端,客户端是无法全部接收的,原因在于客户 ...
- 网络socket编程--多路复用
一.五种网络I/O模型 1.什么是I/O I/O在计算机中指Input/Output,也就是输入和输出.由于程序和运行时数据是在内存中驻留,由CPU这个超快的计算核心来执行,涉及到数据交换的地方,通常 ...
- UNIX编程—网络socket
1 前言 在进行网络socket编程之前,首先要明白计算机通信的原理.网络socket编程是建立在客户端和服务端之间的相互通信,这就必须要了解到计算机网络的知识.我所写的内容是实现简单的本机之间的相互 ...
- 网络socket编程指南 (转)
Beej网络socket编程指南 -------------------------------------------------------------------------------- 介绍 ...
- common java socket,JAVA I/O(四)网络Socket和ServerSocket
<Thinking in Enterprise Java>中第一章描述了用Socket和Channel的网络编程,核心即为Socket和Channel,本文简单讲述Socket的应用. S ...
- 【Java 网络编程】TCP API 简介 ( Socket | ServerSocket )
文章目录 I Socket API 简介 II ServerSocket API 简介 III Socket 数据交互 IV Socket 客户端操作流程 V Socket 服务器端操作流程 VI S ...
最新文章
- linux断开会话不中断进程,Linux screen 解决会话终止当前进程断开的问题
- 都已经十岁的 Apache Dubbo,还能再乘风破浪吗?
- boost::hana::remove_at用法的测试程序
- python脚本变成exe_Python脚本转exe文件
- 中考计算机考试作文,中考理化实验计算机考试作文
- oracle sql loop merge,Oracle之存储过程和MERGE INTO语句
- ReactiveSwift源码解析(三) Signal代码的基本实现
- 翱文中华灯谜大全 v1.1 免费下载--IT man
- 【保姆级手写理解——灰色预测理论以及python实现】
- 无需积分PowerDesigner 下载
- 前端人不可错过的低代码神器,告别切图,一键成稿啦!
- mp3lame linux 编译,ubantu-16+ndk-r14b 编译 ffmpeg-4.0.2+lame_mp3-3.99.5
- [630]企查查api接口操作
- [转]软件开发项目计划编制过程
- 【社区分享】专注移动端机器学习交流,TensorFlow Lite 中文兴趣小组招募中!
- linux内核和发行版有什么区别?附镜像包以及如何查看Linux系统内核版本和发行版本
- php ajax向后台怎么传数组,利用ajax传递数组及后台接收的方法详解
- windows 自带计算器介绍
- JAVA中反射是什么?
- 文化产业如何面对大数据时代
热门文章
- 每天一道LeetCode-----摩尔投票法寻找给定数组中出现个数大于n/2或n/3的元素
- dvd管理器java_Java DVD管理器 基础示例代码下载
- vscode could not establish connection to linux The VS Code Server failed to start
- oracle使用sqlplus工具命令连接,快速启动oracle服务。
- HDU Problem - 5113 Black And White(搜索剪枝)
- 完全二叉树的结点个数
- Docker环境下报错:unknown group ‘mlocate‘ in statoverride file E: Sub-process /usr/bin/dpkg
- Tensorflow详解保存模型(进阶版一):如何有选择的保存变量
- 2021-04-11面试
- Linux环境崩溃生成core文件以及调试