TCP套接字

原创 2015年07月09日 22:28:14

Java为TCP协议提供如下两个类:Socket和ServerSocket。

一个Socket实例代表了连接的一端,一个TCP连接是一个双向的抽象通道,两端都是由IP地址和端口号来确定的,在开始通信之前,

必须先由客户端向服务器端发起连接请求,ServerSocket 实例是侦听TCP连接请求,并未每个请求创建新的Socket实例。

也就是说,服务器端需要处理ServerSocke 实例和 Socket实例,而客户端只需要处理Socket实例。


1. TCP客户端

(1),创建一个Socket实例,在构造函数里面指定远程主机和端口号,视图与服务器端建立一个TCP连接。

(2),通过Socket实例的IO进行,一个Socket实例包括了一个InputStream和一个OutputStream,用法与普通的IO流一样。

(3),使用Socket类的close()方法关闭连接。

2. TCP服务器端

 服务器端的主要工作是建立一个通信终端,并被动的等待客户端的连接。ServerSocket 类的accept()方法将返回一个Socket实例,

该实例已经连接到了远程客户端的套接字,并已经准备好读写数据。ServerSocket 没有相关联的IO流。

(1), 创建一个ServerSocket实例并指定本地端口。此实例的功能就是侦听指定端口收到的连接。

(2), 重复执行:

       (2.1),调用ServerSocket的accept()方法以获取下一个客户端连接,基于新建立的客户端连接,创建一个Socket实例,并由accept()返回。

       (2.2), 使用所返回的Socket实例的InputStream和OutputStream与客户端进行通信。

       (2.3), 通信完成后,使用Socket实例的close()方法关闭该客户端套接字连接。

版权声明:本文为博主原创文章,未经博主允许不得转载。

TCP套接字编程—具体流程梳理

一个上午都在调试一个服务器端监听程序,测试的客户端怎么都连不上,然后疯狂在网上搜寻答案无果,最后无意中发现竟是系统没有联网。唉,顿时就像是在debug过程中发现某处少了一个逗号是一个样的郁闷!不过这个...
  • hulifangjiayou
  • hulifangjiayou
  • 2015年08月04日 12:07
  • 2749

使用TCP/IP的套接字(Socket)进行通信

套接字Socket的引入   为了能够方便地开发网络应用软件,由美国伯克利大学在Unix上推出了一种应用程序访问通信协议的操作系统用调用socket(套接字)。   socket的出现,使...
  • zhaojian3513012
  • zhaojian3513012
  • 2015年07月25日 13:21
  • 1167

UNIX网络编程:socket套接字(TCP与UDP)

套接字简介:套接字是网络编程中的一种通信机制,是支持TCP/IP的网络通信的基本操作单元,可以看做是不同主机之间的进程进行双向通信的端点,简单的说就是通信的两方的一种约定,用套接字中的相关函数来完成通...
  • Dandelion_gong
  • Dandelion_gong
  • 2016年06月07日 18:46
  • 2421

基于UDP和TCP协议的Socket(网络编程/套接字)案例

  • 2017年10月30日 09:09
  • 11KB
  • 下载

TCP套接字的服务器与客户端

  • 2016年12月22日 15:26
  • 949KB
  • 下载

用TCP/IP进行网际互联 第三卷:客户 - 服务器编程与应用(Linux/POSIX套接字版)

  • 2010年03月19日 10:10
  • 11.43MB
  • 下载

udp和tcp套接字扩展可传文件

  • 2018年01月04日 16:24
  • 5.46MB
  • 下载

udp和tcp套接字简单例子

  • 2017年12月29日 22:15
  • 4.46MB
  • 下载

TCP套接字详解

  • 2015年09月16日 15:26
  • 320KB
  • 下载

TCP服务器套接字代码

  • 2014年09月15日 11:16
  • 2KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:TCP套接字
举报原因:
原因补充:

(最多只允许输入30个字)