网络开发Socket和ServerSocket 我就是我 2021-09-15 00:02 324阅读 0赞 **已经发表个人公众号** ##### Socket和ServerSocket ##### Socket为“孔”或“插座”,创建Socket,打开连接Socket的输入或输出流,对Socket进行读写,关闭Socket。 Accept方法用于产生“阻塞”,这里有getInputStream方法和getOutInputStream方法,会产生一个IOException, 在Java.net包中,有Socket和ServerSocket两个类。以JDK1.6介绍: ##### 构造方法 ##### public Socket() public Socket(String host, int port) //host - 主机名,或者为 null,表示回送地址 //port - 端口号 public Socket(InetAddress address,int port) //address - IP 地址 //port - 端口号 ServerSocket类有3个构造方法 ServerSocket(int port) ServerSocket(int port,int backlog) ServerSocket(int port,int backlog,InetAddress binAddr) ##### 服务器与客户端通信 ##### package two; import java.io.DataInputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.io.PrintStream; import java.net.ServerSocket; import java.net.Socket; public class ServerSocket1 { public static void main(String[] args) { // TODO Auto-generated method stub try { ServerSocket ss = new ServerSocket(2007); while(true) { Socket s = ss.accept(); InputStream is = s.getInputStream(); OutputStream os = s.getOutputStream(); PrintStream ps = new PrintStream(os); ps.println("helloworld, i am server thinkpad"); DataInputStream dis = new DataInputStream(is); String str = dis.readLine(); System.out.println(str); s.close(); } } catch(IOException ee) { System.out.println(ee); } catch(Exception e) { System.out.println(e); } } } package two; import java.io.DataInputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.io.PrintStream; import java.net.ConnectException; import java.net.Socket; public class ClientSocket { public static void main(String[] args) { // TODO Auto-generated method stub try { Socket s = new Socket("########",2007); InputStream is = s.getInputStream(); OutputStream os = s.getOutputStream(); PrintStream ps = new PrintStream(os); ps.println("hello , i am client"); DataInputStream dis = new DataInputStream(is); String str = dis.readLine(); System.out.println(str); s.close(); } catch(ConnectException eee) { System.out.println(eee); } catch(IOException ee) { System.out.println(ee); } catch(Exception e) { System.out.println(e); } } } ##### 线程: ##### 线程也称为轻量级进程,是程序执行的最小单元。是程序中一个单一的顺序控制流程,在程序中同时运行多个线程,称为多线程。进程是一个可执行的程序。一个应用可以有一个或多个进程,对于一个进程可以有一个或多个线程,其中一个是主线程,public static void main。 创建,执行线程的速度比进程更快。 ##### 多客户请求服务 ##### public class DuoServer{ public static void main(String[] args){ boolean connected = true; try{ ServerSocket ss = new ServerSocket(2007); int clientnum=0; while(connected){ ServerThread st = new ServerThread(ss.accept(),clientnum); st.start(); clientnum++; System.out.println(clientnum); } } catch(Excepiton e){ System.out.println(e); } } } class ServerThread extends Thread{ private Socket s; int clientnum; public ServerThread(Socket s, int num){ this.s = s; clientnum = num + 1; } public void run(){ try{ InputStream is = s.getInputStream(); OutputStream os = s.getOutputStream(); PrintStream ps = new PrintStream(os); ps.println("i am server"); DataInputStream dis = new DataInputStream(is); String str = dis.readLine(); System.out.println(str); } catch(Excepiton e){ System.out.println(e); } } }
相关 Java网络编程基础:Socket和ServerSocket的区别 在Java的网络编程中,Socket和ServerSocket是两个非常重要的类,分别代表客户端和服务器端。 1. Socket: Socket是一个连接到特定地址(通过IP 逃离我推掉我的手/ 2024年09月16日 06:04/ 0 赞/ 4 阅读
相关 网络编程基础:Java Socket和ServerSocket实例教程 在Java中,Socket和ServerSocket是用于实现客户端与服务器端之间通信的两个类。下面我们将通过实例来详细讲解。 1. **创建Socket实例**(客户端) 港控/mmm°/ 2024年09月13日 12:48/ 0 赞/ 17 阅读
相关 Java网络编程:Socket和ServerSocket的基本问题 在Java网络编程中,Socket和ServerSocket是两个关键的API。它们主要用于建立客户端与服务器之间的通信连接。以下是一些基本问题: 1. **Socket与S Dear 丶/ 2024年09月13日 01:15/ 0 赞/ 11 阅读
相关 Java网络编程:Socket和ServerSocket问题实例 在Java网络编程中,Socket和ServerSocket是两个关键的类。以下是一些问题实例以及解决方案: 1. **创建Socket实例**: 问题:如何通过主机名 叁歲伎倆/ 2024年09月11日 05:15/ 0 赞/ 14 阅读
相关 Java网络编程基础:Socket与ServerSocket 在Java中,Socket和ServerSocket是两个重要的类,用于实现客户端和服务器端的通信。 1. Socket: Socket是TCP(传输控制协议)层的一个接口。 àì夳堔傛蜴生んèń/ 2024年09月04日 09:33/ 0 赞/ 12 阅读
相关 Socket和ServerSocket基本用法(建立网络通讯) serverMain package com.cy.java.net; import java.io.IOException; impo 布满荆棘的人生/ 2023年01月13日 14:57/ 0 赞/ 137 阅读
相关 java网络编程(一)Socket、ServerSocket 1.Socket java都是基于InputStream还有OutputStream实现的。Socket也可以通过输入、输出流进行读写。 客户端 Output 不念不忘少年蓝@/ 2022年03月21日 14:30/ 0 赞/ 208 阅读
相关 网络开发Socket和ServerSocket 已经发表个人公众号 Socket和ServerSocket Socket为“孔”或“插座”,创建Socket,打开连接Socket的输入或输出流,对Socke 我就是我/ 2021年09月15日 00:02/ 0 赞/ 325 阅读
还没有评论,来说两句吧...