`
dananhai
  • 浏览: 91578 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

C/S socket笔记

    博客分类:
  • java
阅读更多
   Java提供了一个URL(UniformResourceLocator)对象,利用此对象可打开并访问网络上的对象,其访问方式与访问本地文件系统几乎完全相同


    Java.net
  Java.net.ftp
  Java.net.www.content
  Java.net.www.html
  Java.net.www.http  

  这些子类库各自容纳了可用于处理Internet协议的类和方法。其中,java.net用于处理一些基本的网络功能,包括远程登录(Telnet);java.net.ftp用于处理ftp协议;java.net.www.content用于处理WWW页面内容;java.net.www.html和java.net.www.http则分别提供了对HTML语言和HTTP协议的支持。



下面是客户机/服务器的一个典型运作过程:  

  1.服务器监听相应端口的输入;
  2.客户机发出一个请求;
  3.服务器接收到此请求; 
   4.服务器处理这个请求,并把结果返回给客户机;
  5.重复上述过程,直至完成一次会话过程。

  

用Java语言设计C/S程序时需要注意以下几点:   

  (1)、服务器应使用ServerSocket类来处理客户机的连接请求。当客户机连接到服务器所监听的端口时,ServerSocket将分配一新的Socket对象。这个新的Socket对象将连接到一些新端口,负责处理与之相对应客户机的通信。然后,服务器继续监听ServerSocket,处理新的客户机连接。Socket和ServerSocket是Java网络类库提供的两个类。 

  (2)、服务器使用了多线程机制。Server对象本身就是一个线程,它的run()方法是一个无限循环,用以监听来自客户机的连接。每当有一个新的客户机连接时,ServerSocket就会创建一个新的Socket类实例,同时服务器也将创建一新线程,即一个Connection对象,以处理基于Socket的通信。与客户机的所有通信均由这个Connection对象处理。Connection的构造函数将初始化基于Socket对象的通信流,并启动线程的运行。与客户机的通信以及服务的提供,均由Connection对象处理。  

  (3)、客户机首先创建一Socket对象,用以与服务器通信。之后需创建两个对象:DataInputStream和PrintStream,前者用以从Socket的InputStream输入流中读取数据,后者则用于往Socket的OutputStream中写数据。最后,客户机程序从标准输入(如:控制台)中读取数据,并把这些数据写到服务器,在从服务器读取应答消息,然后大这些应答消息写到到准输出。  
分享到:
评论

相关推荐

    基于C/S模式socket编程实例

    【标题】"基于C/S模式socket编程实例"指的是在客户端/服务器(Client/Server)架构下,通过Socket接口进行通信的编程示例。Socket是网络编程中的基础接口,它允许两个程序通过网络进行数据交换。在C/S模式中,客户端...

    java c/s聊天

    【Java C/S聊天】是一种基于客户端/服务器架构的即时通讯应用,主要利用Java编程语言实现。C/S架构意味着系统由两部分组成:客户端(Client)和服务器端(Server)。在这个项目中,用户通过客户端发送消息,服务器端...

    socket学习精华笔记

    例如,在C/S模型中,服务器和客户端进程通过Socket相互通信。 Socket的类型主要分为两种:流式Socket(SOCK_STREAM)和数据报式Socket(SOCK_DGRAM)。流式Socket提供面向连接、可靠的数据传输服务,适用于需要数据...

    linux下C语言开发笔记整理

    Linux下C语言开发笔记整理涵盖了从基础知识到网络通信的多个方面,主要围绕在Unix/Linux系统环境下使用C语言进行软件开发的各项技术与理论。以下是从文件提供的信息中提炼的知识点。 ### Unix/Linux系统基本命令和...

    Linux网络编程socket编程学习

    很详细的介绍了网络套接字socket的C/S模型TCP协议的服务器端和客户端的程序函数以及编写过程;重点介绍多路I/O转接服务器的实现,包括select函数poll函数epoll函数;最后介绍了UDP协议的服务器编写和本地套接字的...

    C语言的网络编程笔记

    本篇文章将详细解析C语言在进行网络编程时的关键知识点,结合"网络编程笔记-第六天"这个文件名,我们可以推测这是一份逐步深入的学习材料。 1. **套接字(Sockets)编程**: C语言中的网络编程主要通过套接字接口...

    unix网络编程读书笔记

    UNIX 网络编程读书笔记首先介绍了 UNIX 网络编程的基础知识,包括 C/S 架构、路由器、inet_addr 函数、read 函数的使用等。这些基础知识为后续的网络编程提供了坚实的基础。 2. 并发服务器设计思想 读书笔记中还...

    python网络编程学习笔记(二):socket建立网络客户端

    1、建立socket ...因此对于TCP通信,建立一个socket连接的语句为:s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)对于UDP通信,建立一个socket连接的语句为:s=socket.socket(socket.AF_INET,

    联想ThinkPad T480s电路原理图和元件点位图

    CPUPOWER),硬盘接口(M.2SOCKET1MODULEI/F),摄像头接口(LID/MIC/CAMERA/PWRSW),网络接口(RJ45CONNECTOR,GBEJACKSONVILLE),USB接口(USBTYPE-CSWITCH),以及其他外围设备接口和控制器(MEC1663,...

    linux下TCP,UDP的C代码

    在C语言中,我们通常使用`socket`函数创建套接字,`bind`函数绑定端口,`listen`函数监听连接,`accept`函数接收连接请求,`connect`函数建立客户端连接,以及`send`和`recv`函数进行数据的发送与接收。 以下是一个...

    python网络编程学习笔记(五):socket的一些补充

    本篇学习笔记将深入探讨socket的一些重要补充,包括半开放socket、超时控制以及网络字节顺序。 1. 半开放socket: 在Python中,socket对象可以通过`shutdown()`函数来实现半开放状态,即让原本双向的数据传输变成...

    python网络编程学习笔记(三):socket网络服务器

    1、TCP连接的建立方法 客户端在建立一个TCP连接时一般需要两步,而服务器的这个过程需要四步,具体见下面的比较。...s=socket.socket(socket.AF_INET,socket.SOCK_STREAM) 第二步,设置和得到socket

    黑马_Linux网络编程-网络基础-socket编程-高并发服务器

    - **C/S模式**(客户端/服务器模式):传统的网络应用程序设计模式。在客户端与服务器之间建立直接连接,实现数据交互。优点在于高性能和灵活性,但需要为每个客户端安装专门的应用程序。 - **B/S模式**(浏览器/...

    计算机组装与维护-主板作业1.doc

    15. USB3.1接口类型:USB3.1分为Type-A(传统矩形)、Type-C(双面可插拔)和Micro-B三种接口类型。 16. SOCKET AM3+与SOCKET AM3的区别:主要在于针脚数量和CPU支持范围,AM3+增加了针脚以支持新的CPU型号,比如...

    计算机网络原理复习笔记.docx

    在应用层,我们有多种网络服务,如C/S架构(客户端/服务器)和B/S架构(浏览器/服务器),以及域名系统DNS、万维网应用、电子邮件、FTP、P2P应用和Socket编程等。这些服务使得用户可以方便地浏览网页、收发邮件、...

    基于S3C2410嵌入式无线监控系统的设计.pdf

    在本设计中,Linux操作系统为S3C2410提供了运行环境,并且通过网络套接字(Socket)实现TCP/IP通信协议,从而实现远程控制功能。 PCMCIA(Personal Computer Memory Card International Association,个人计算机...

    day11【网络编程】-笔记1

    C/S结构是指客户端和服务器结构,常见程序有QQ、迅雷等软件,而B/S结构是指浏览器和服务器结构,常见浏览器有谷歌、火狐等。 在网络编程中,协议是计算机网络通信必须遵守的规则,其中TCP/IP协议是Internet最基本、...

    Linux网络编程笔记(修订版)

    ### Linux网络编程笔记(修订版) #### 基本概念 网络编程是在计算机网络中实现数据交换和资源共享的重要技术手段。对于Linux环境下的网络编程,理解基础概念是至关重要的第一步。 1. **OSI参考模型**:开放系统...

Global site tag (gtag.js) - Google Analytics