[javaSE] 网络编程(TCP通信)
客户端A与服务端建立通信,服务端获取到客户端A的Socket对象,通过这个通路进行通信
客户端:
获取Socket对象,new出来,创建客户端的Socket服务,构造参数:Sting主机,int 端口
调用Socket对象的getOutputStream()方法,获取输出流OutputStream对象
调用OutputStream对象的write()方法,参数:byte[]字节数组
import java.io.IOException;
import java.io.OutputStream;
import java.net.InetAddress;
import java.net.Socket; /**
* 客户端
* @author taoshihan
*
*/
public class Client {
public static void main(String[] args) throws Exception, IOException {
Socket socket=new Socket(InetAddress.getLocalHost(), 10003);
OutputStream outputStream=socket.getOutputStream();
outputStream.write("Hello TCP".getBytes()); }
}
服务端:
获取ServerSocket对象,new出来,构造参数:int端口
调用ServerSocket对象的accept()方法,获取到Socket对象,阻塞式的
调用Socket对象的getInputStream()方法,获取输入流InputStream对象
读取输入流,数据量不大,不循环了直接调用InputStream对象的read()方法,参数:byte[]数组
调用Socket对象的getInetAddress()方法,获取到InetAddress对象
调用Socket对象的close()方法,关闭客户端
import java.io.InputStream;
import java.net.InetAddress;
import java.net.ServerSocket;
import java.net.Socket; /**
* 服务端
*
* @author taoshihan
*
*/
public class Server {
public static void main(String[] args) throws Exception {
ServerSocket serverSocket = new ServerSocket(10003);
while (true) {
Socket socket = serverSocket.accept();
InputStream inputStream = socket.getInputStream(); byte[] buf = new byte[1024];
int len = inputStream.read(buf); InetAddress ip = socket.getInetAddress();
socket.close();
System.out.println("来自" + ip.getHostAddress() + "说:"
+ new String(buf, 0, len));
} }
}
[javaSE] 网络编程(TCP通信)的更多相关文章
- C#网络编程TCP通信实例程序简单设计
C#网络编程TCP通信实例程序简单设计 采用自带 TcpClient和TcpListener设计一个Tcp通信的例子 只实现了TCP通信 通信程序截图: 压力测试服务端截图: 俩个客户端链接服务端测试 ...
- JAVA网络编程TCP通信
Socket简介: Socket称为"套接字",描述IP地址和端口.在Internet上的主机一般运行多个服务软件,同时提供几种服务,每种服务都打开一个Socket,并绑定在一个端 ...
- 网络编程:Http通信与Socket通信
http://note.youdao.com/share/?id=f14d304548003f65e34255d3ddf9df31&type=note 网络编程:Http通信与Socket通信 ...
- Socket网络编程(TCP/IP/端口/类)和实例
Socket网络编程(TCP/IP/端口/类)和实例 原文:C# Socket网络编程精华篇 转自:微冷的雨 我们在讲解Socket编程前,先看几个和Socket编程紧密相关的概念: TCP/IP层次 ...
- 网络编程——TCP协议、UDP协议、socket套接字、粘包问题以及解决方法
网络编程--TCP协议.UDP协议.socket套接字.粘包问题以及解决方法 TCP协议(流式协议) 当应用程序想通过TCP协议实现远程通信时,彼此之间必须先建立双向通信通道,基于该双向通道实现数 ...
- Socket网络编程-TCP编程
Socket网络编程-TCP编程 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.socket介绍 1>.TCP/IP协议 2>.跨网络的主机间通讯 在建立通信连接的 ...
- 网络编程TCP/IP详解
网络编程TCP/IP详解 1. 网络通信 中继器:信号放大器 集线器(hub):是中继器的一种形式,区别在于集线器能够提供多端口服务,多口中继器,每个数据包的发送都是以广播的形式进行的,容易阻塞网络. ...
- Java网络编程UDP通信原理
前言 继续今天我们的Java网络编程--TCP和UDP通信 一.TCP和UDP概述 传输层通常以TCP和UDP协议来控制端点与端点的通信 TCP UDP 协议名称 传输控制协议 用户数据包协议 是 ...
- GO语言练习:网络编程 TCP 示例
1.代码 2.编译及运行 1.网络编程 TCP 示例 simplehttp.go 代码 package main import ( "net" "os" &qu ...
- 网络编程TCP协议-聊天室
网络编程TCP协议-聊天室(客户端与服务端的交互); <span style="font-size:18px;">1.客户端发数据到服务端.</span> ...
随机推荐
- Redis持久化————AOF与RDB模式
1. 官方说明: By default Redis asynchronously dumps the dataset on disk. This mode is good enou ...
- Mac OS 10.12 - 解决“bad interpreter: No such file or directory”问题!
在Mac OS10.12里面执行shell脚本时候,无法执行,错误提示:“bad interpreter: No such file or directory”,经过上网搜索,最终解决了,解决方法,首 ...
- 根据已有的Jar包 一键生成对应的mavenpom.xml信息
根据已有的jar包信息一键生成对应的maven坐标信息 .想一个问题 假如 我有一个SSH的项目, jar包是配置在lib中, 我现在想把它做成maven格式的SSH项目 ,那么这些jar包在mav ...
- HDU 1024 最大M字段和
一道关于求最大M字段和的问题,翻译完题之后感觉很简单但就是写不来,后来仿佛推到一个dp式子了,对,仿佛...然后抄袭了个式子,嘿,和我的式子大体相似,然后就是很玄学的优化了...不多瞎bb了 1.首先 ...
- vue 学前班002(创建一个实例)
创建一个Vue实例 我们之前说过,Vue是数据驱动视图的,只要model(模型层)的数据改变了,Vue就会帮我们改变视图上显示的内容,不用我们自己去动手写代码更新.那么,它是怎么做到的,我们的代码要怎 ...
- python学习笔记05-列表
Python3已经不区分整型和长整型 列表: 查 用切片查 [n:n:n] A[1:2] 只能取出一个数 顾头不顾尾 存在步长 可以按步长1取 也可以按设置其他步长取 若要逆序取数 步长 ...
- fullpage.js与animate.css搭配使用
jquery的fullpage.js插件的使用 https://alvarotrigo.com/fullPage/#3rdPage 官网 https://github.com/alvarotrig ...
- linux安装git,linux安装jenkins
首先是两个地址,分别是git的版本下载地址,jenkins的下载地址 https://mirrors.edge.kernel.org/pub/software/scm/git/ http://mirr ...
- appt查看应用包报名和入口页面
appt在哪里? aapt不需要另外安装喔,有安装了adt的,可以直接在adt../sdk/build-tools/android-xx/下,找到aapt,详细路径如图 怎么使用aapt.bat? 直 ...
- POJ 1157
#include<iostream> //成大才子---经典代码~ #include<stdio.h> #include<algorithm> #define MA ...