- 浏览: 467972 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (272)
- java基础 (59)
- struts (8)
- spring (8)
- 数据库 (8)
- java 网络编程 (29)
- hibernate (3)
- JavaScript (10)
- 日志管理 (2)
- jsp (4)
- servlet (7)
- xml (4)
- ajax (2)
- web service (4)
- 算法与数据结构 (13)
- java 反射机制 (11)
- java 泛型 (3)
- java I/O (8)
- java 线程 (12)
- JavaEE (6)
- java解惑 (33)
- 工具 (5)
- MyEclipse编程实践 (1)
- OSGI (2)
- 设计模式 (9)
- 正则表达式 (0)
- EJB (3)
- Ubuntu linux (6)
- Android (1)
- web前端 (2)
- 找工作 (1)
- SCA (1)
- maven (1)
- 缓存 (1)
- json (1)
- javamail (1)
- 工作笔记 (2)
最新评论
-
霜花似雪:
博主可以分享一下源码吗?
使用maven构建web项目实例 -
王庆波-行:
很好的demo!
memcache使用实例 -
surpassno:
大写的牛逼
java可视化显示内存使用情况 -
zhulin0504:
怎么访问NetEcho.html页面呀???
applet与servlet的网络通信 -
springdata:
java多线程实例demo源代码下载:http://www.z ...
java多线程例子
只有一个客户端的socket程序
服务器端程序:
其中8800是端口号,可以任意指定一个系统没有被占用的端口号即可
客户端程序:
执行时,可以在一台主机上执行,也可在两台主机执行,只要指定好ip地址和端口号即可。先执行服务器端程序,再开启客户端,客户端每输入一个字符串,都会在服务器端显示,直到客户端输入end,结束通信。。
多客户端程序,客户端程序不变,服务器端程序如下:
服务器端程序:
package socketdemo; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.ServerSocket; import java.net.Socket; public class MyServer { public static void main(String[] args) throws IOException { ServerSocket server = new ServerSocket(8800); Socket client = server.accept(); BufferedReader in = new BufferedReader(new InputStreamReader(client .getInputStream())); PrintWriter out = new PrintWriter(client.getOutputStream()); while (true) { String str = in.readLine(); System.out.println(str); // 读取客户端,写入服务器端 out.println("has receive....");// 写入客户端 out.flush(); if (str.equals("end")) break; } client.close(); } }
其中8800是端口号,可以任意指定一个系统没有被占用的端口号即可
客户端程序:
package socketdemo; import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.InetAddress; import java.net.Socket; public class MyClient { static Socket server; public static void main(String[] args) throws Exception { server = new Socket(InetAddress.getLocalHost(), 8800); //服务器的主机名(即ip地址)和端口号 BufferedReader in = new BufferedReader(new InputStreamReader(server .getInputStream())); PrintWriter out = new PrintWriter(server.getOutputStream()); BufferedReader wt = new BufferedReader(new InputStreamReader(System.in)); while (true) { String str = wt.readLine(); out.println(str);// 写入服务端 out.flush(); if (str.equals("end")) { break; } System.out.println(in.readLine()); // 读取服务器端,写入客户端,has receiving } server.close(); } }
执行时,可以在一台主机上执行,也可在两台主机执行,只要指定好ip地址和端口号即可。先执行服务器端程序,再开启客户端,客户端每输入一个字符串,都会在服务器端显示,直到客户端输入end,结束通信。。
多客户端程序,客户端程序不变,服务器端程序如下:
package socketdemo; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.ServerSocket; import java.net.Socket; public class MultiUserServer extends Thread { // 多客户端的服务器程序 private Socket client; public MultiUserServer(Socket c) { this.client = c; } public void run() { try { BufferedReader in = new BufferedReader(new InputStreamReader(client .getInputStream())); PrintWriter out = new PrintWriter(client.getOutputStream()); // Mutil User but can't parallel while (true) { String str = in.readLine(); System.out.println(str); out.println("has receive...."); out.flush(); if (str.equals("end")) break; } client.close(); } catch (IOException ex) { } finally { } } public static void main(String[] args) throws IOException { ServerSocket server = new ServerSocket(8800); while (true) { // transfer location change Single User or Multi User MultiUserServer mu = new MultiUserServer(server.accept()); mu.start(); } } }
发表评论
-
计算机网络知识
2011-06-01 16:19 793一个http请求的详细过程 我们来看当我们在浏览器输入htt ... -
java udp socket实例
2010-12-06 12:28 7121客户端: package udp; import jav ... -
线程池实现tcp socket
2010-12-01 17:23 2880前面的程序,当一个客户端请求到来时,服务器端就会临时性的创建一 ... -
tcp socket实例(改进)
2010-12-01 16:16 1592上一篇的程序服务器端只能接受一个客户端请求,本篇改为模拟多客户 ... -
java tcp socket实例
2010-12-01 13:44 1627网络编程的基本模型就是客户端到服务器端模型,一段必须提供一个固 ... -
telnet协议(转)
2010-10-14 17:17 1139我们知道Telnet服务器软 ... -
whois协议(转)
2010-10-14 14:28 1361当我们预备建立一个Web站点,就必须向域名登记机构申请一个In ... -
java 网络协议(一)Tcp多线程服务器端编程
2010-10-14 11:33 54851,通用服务器代码: package multiThread; ... -
java 网络协议(一)UDP
2010-10-14 09:24 1476UDP测试程序,无需建立连接 package udp; ... -
java 网络协议(一)Tcp
2010-10-14 08:52 51371,简化的服务器端程序 package tcp; imp ... -
java 网络协议(一)InetAddress和Socket(含源码)
2010-10-14 08:24 18831,ip地址和主机名互换 package getip; ... -
ftp协议2(转)
2010-10-12 16:26 965FTP协议工作原理 FTP有 ... -
ftp协议(转)
2010-10-12 16:21 1266ftp协议 FTP协议将使用两 ... -
SMTP服务协议(转)
2010-10-11 15:31 1246SMTP服务概述 鉴于本课程的默认读者群是那些对Inter ... -
利用socket发送接收邮件(转)
2010-10-11 15:18 4190这是在网上摘的,执行接收邮件出现:530 Authentica ... -
jdk6.0从入门到精通-----chapter5网络编程 新I/O(含源码下载)
2010-09-21 10:13 1430本例向用户通过参数指定的主机端口发送一段请求报文,然后读取和打 ... -
jdk6.0从入门到精通-----chapter6--http
2010-09-14 16:32 946用httpconnection进行文件下载,建立一般的jav ... -
java自学===Filter类的应用,验证用户
2010-09-14 14:37 940Filter类 package com; import ... -
java自学===Filter类的应用,网站数量统计
2010-09-14 12:31 1940package filterStatistic; imp ... -
jdk6.0从入门到精通-----chapter5网络编程 udp套接字
2010-09-12 13:46 1162用到的主要类DatagramPacket,DatagramSo ...
相关推荐
总结来说,Java Socket实现的简易聊天程序是一个基础的网络通信示例,它展示了如何使用Socket进行数据交换,适用于初学者理解网络编程的基本原理。随着技能的提升,可以在此基础上添加更多的功能和优化,构建更完善...
2. **带交互的聊天室**:在此基础上,可以扩展为多个客户端同时连接到服务器,形成一个简单的聊天室。服务器端需要维护一个客户端列表,接收到任何客户端的消息后广播给其他所有客户端。客户端则可以发送消息并接收...
在这个简单的Java Socket模型中,我们将深入探讨如何创建和使用Sockets进行数据传输,这对于初学者来说是一块重要的学习内容。 首先,理解Socket的基本概念是至关重要的。Socket可以被看作是两台计算机之间通信的...
以上就是关于“简单Java socket通信程序”的主要知识点,包括了服务器端和客户端的基本操作以及Socket通信的一般流程。实际开发中,还需要根据具体需求进行扩展,如添加身份验证、加密通信、心跳机制等高级功能。
总的来说,这个简单的文件传输程序利用了Java Socket API实现了客户端和服务器之间的文件交换,虽然它可能没有涵盖高级特性,如断点续传、错误恢复或性能优化,但对于理解和学习Socket编程基础是很有帮助的。...
在设计一个简单的Java Socket聊天程序时,通常会包含以下几个关键步骤: 1. **服务器端**: - 创建ServerSocket实例,指定监听的端口号。 - 使用ServerSocket的`accept()`方法等待客户端的连接请求。当有客户端...
Socket分为ServerSocket和Socket两种类型,ServerSocket用于监听客户端连接,Socket则代表一个客户端与服务器的连接实例。 2. **多线程处理**: 在多人聊天室中,每个客户端连接都需要独立的线程来处理,以便同时...
实现Java Socket聊天多线程编程,图形化界面,多人聊天(群聊),私人聊天,是基于本地模拟的Java聊天程序。 Java Socket聊天程序是我用了三天的时间写出来,用Netbeans建的工程,图形化界面是Netbeans拖拉出来的,...
这是一个简单的Java Socket服务器客户端程序框架: ```java // 服务器端 ServerSocket server = new ServerSocket(8080); while (true) { Socket clientSocket = server.accept(); new Thread(new ClientHandler...
Java Socket 简单成绩管理系统是一个基于JAVA编程语言和Socket通信技术实现的初级项目,它主要目的是帮助初学者理解如何运用Socket进行网络通信,并在实际应用中管理学生的成绩。在这个系统中,通常会包含服务器端...
在Java聊天室软件中,开发者通常会创建一个主线程来处理服务器的监听和Socket的创建,然后为每个客户端创建单独的线程来处理通信,以保证程序的并发性和响应性。此外,为了确保数据的安全性和完整性,还可以使用SSL/...
Java的Socket实现的多人聊天程序是一个基于网络通信的项目,主要利用了Java的Socket类来构建客户端和服务端的通信桥梁。Socket是TCP/IP协议的一部分,它提供了两台计算机之间进行数据传输的基础。在这个项目中,...
在提供的压缩包文件`socketServer`中,可能包含了一个简单的服务器端示例,用于演示如何接收和转发视频流。你可以通过查看和运行这个示例来进一步理解和实践上述概念。学习和理解Java Socket对于构建分布式系统、...
Java聊天Socket小程序是一种基于TCP/IP协议的网络通信应用,它允许...然而,需要注意的是,网络通信中可能存在各种异常情况,如连接中断、数据丢失等,因此在编写Socket程序时,应充分考虑异常处理和错误恢复机制。
在这个场景下,我们讨论的是一个简单的聊天小程序,它利用了Java的Socket库来搭建客户端与服务器之间的桥梁,实现数据的实时交互。下面将详细阐述相关知识点。 1. **Java Socket**: Java的Socket类是TCP/IP协议的...
以下是一个简单的Socket连接池实现步骤: 1. 初始化连接池:设置最大连接数、最小连接数、超时时间等参数,并预创建一部分Socket连接。 2. 获取连接:当应用程序需要建立Socket连接时,从连接池中获取一个闲置的...
java socket做的通信client端程序
Java Socket是Java编程语言中实现网络通信的基础组件,它提供了应用程序与网络协议的接口,使得开发者可以构建基于TCP...实践是检验理论的最好方式,动手编写Socket程序,不断尝试和调试,将有助于深化理解和提升技能。
在这个基于Java Socket实现的简单模拟QQ聊天程序中,我们主要探讨以下几个核心知识点: 1. **Socket原理**:Socket是网络通信中的一个端点,它允许两台计算机通过网络进行数据交换。在TCP/IP协议栈中,Socket接口为...