网络编程——TCP连接
TCP在双方传输数据前,发送方先请求建立连接,接收方同意建立连接后才能传输数据。(打电话:先拨号,等对方同意接听后,才能交流)。。。高可靠性
UDP不需要建立连接(发短信)。不可靠,可能出现数据丢失等,但效率高,实时性高。
————————————————————————————————————————————————————————————————————————————
服务器端:
import java.io.IOException;
import java.io.InputStream;
import java.net.ServerSocket;
import java.net.Socket; public class ServerSocketTest { public static void main(String[] args) throws IOException {
// 新建一个服务器端的套接字 Server端监听10000端口
ServerSocket serverSocket = new ServerSocket(10000);
// 建立连接,此时进入阻塞状态
Socket socket = serverSocket.accept();
System.out.println("Connected: " + socket.getRemoteSocketAddress());
// socket从客户端读取数据
InputStream inputStream = socket.getInputStream();
byte[] b = new byte[1024];
int length = inputStream.read(b);
System.out.println(length + " Bytes Received");
} }
客户端代码:
import java.io.IOException;
import java.io.OutputStream;
import java.net.Socket; public class ClientSocketTest { public static void main(String[] args) throws IOException {
//新建一个客户端的套接字
Socket socket = new Socket("127.0.0.1", 10000);
// 用socket往服务器端发送数据
OutputStream outputStream = socket.getOutputStream();
byte[] b = new byte[2];
outputStream.write(b);
} }
运行结果:
Connected: /127.0.0.1:60361
2 Bytes Received
网络编程——TCP连接的更多相关文章
- UNIX网络编程——TCP连接的建立和断开、滑动窗口
一.TCP段格式: TCP的段格式如下图所示: 源端口号与目的端口号:源端口号和目的端口号,加上IP首部的源IP地址和目的IP地址唯一确定一个TCP连接. 序号:序号表示在这个报文段中的第一个数据字节 ...
- python网络编程--TCP连接的三次握手(三报文握手)与四次挥手
一.TCP连接 运输连接有三个阶段: 连接建立.数据传送和连接释放. 在TCP连接建立过程中要解决以下三个问题: 1,要使每一方能够确知对方的存在. 2.要允许双方协商一些参数(如最大窗口之,是否使用 ...
- 网络编程-TCP连接的建立与终止
TCP是一个面向连接的协议.无论哪一方向另一方发送数据之前,都必须先在双方之间建立一条连接. 1.建立连接 请求端(通常称为客户)发送一个 SYN 段指明客户打算连接的服务器的端口,以及初始序号( I ...
- 网络编程-TCP连接-length
在使用readLine方式时,常常会遇到因为没有结束标记,而导致阻塞现象. 如果不想使用结束标记,这里可以使用一个固定长度的byte[],来获取流. server package com.net.tc ...
- 网络编程-TCP连接-readLine
Server: package com.net.tcp; import java.io.BufferedReader; import java.io.IOException; import java. ...
- 网络编程TCP协议-聊天室
网络编程TCP协议-聊天室(客户端与服务端的交互); <span style="font-size:18px;">1.客户端发数据到服务端.</span> ...
- C#网络编程TCP通信实例程序简单设计
C#网络编程TCP通信实例程序简单设计 采用自带 TcpClient和TcpListener设计一个Tcp通信的例子 只实现了TCP通信 通信程序截图: 压力测试服务端截图: 俩个客户端链接服务端测试 ...
- Socket网络编程(TCP/IP/端口/类)和实例
Socket网络编程(TCP/IP/端口/类)和实例 原文:C# Socket网络编程精华篇 转自:微冷的雨 我们在讲解Socket编程前,先看几个和Socket编程紧密相关的概念: TCP/IP层次 ...
- 聊聊iOS中网络编程长连接的那些事
1.长连接在iOS开发中的应用 常见的短连接应用场景:一般的App的网络请求都是基于Http1.0进行的,使用的是NSURLConnection.NSURLSession或者是AFNetworking ...
随机推荐
- 指定html内容下载为word文档
解决思路是:获取html内容并传到后台,后台把html内容转换为输入流再传给浏览器,浏览器直接下载 1.获取html内容并传到后台 $("#zxjdck .ad-xzzy-anniu&quo ...
- 精简JRE的思路初探
引言: JRE是Java程序赖以执行的基础环境,眼下JRE已经很的庞大;即使为了执行一个简单的Hello World的程序.可能依旧须要依赖整个JRE,将近百兆大小的依赖性. 能否够对特定Java程序 ...
- asp.net mvc 对象和集合序列化
private List<Model.Organization.Organization> GetOrganiztions(){var organizations = new List&l ...
- Android中adb push和adb install的使用区别
Android中adb push和adb install的使用区别 转载 本篇文章由史迎春(@三俗小女子)投稿.转载请注明原文地址. 在Android实际开发中,经常会使用adb命令,安装应用程序可 ...
- .net string format
转自:http://www.cnblogs.com/jobs2/p/3948049.html 转自:http://jingyan.baidu.com/article/48206aeaf8c52f216 ...
- 常用Java片段
1. 字符串与整型的相互转换 String a = String.valueOf(2); //integer to numeric string int i = Integer.parseInt( ...
- python读取word表格内容(1)
1.首页介绍下word表格内容,实例如下: 每两个表格后面是一个合并的单元格
- Chrome设计文档-多进程架构
chromium multi-process architecture 本文档从high-level的角度描述Chromium的多进程架构. 问题 要构建一个决不崩溃或挂起的渲染引擎几乎是不可能的.同 ...
- MySQL zerofill 的用法
creata table t(x int(6) zerofill,y int); insert into t(x,y) values(1,1); select x,y from t;
- Groovy中那些神奇注解之Memoized
临近年关手头比较闲,去看了一下Groovy的官方文档,才发现原来Groovy中带了那么多的注解,很多注解带来的效果,有时候让人感觉“这不是在变魔法吧”. 个人很喜欢Groovy,写不成Ruby,Gro ...