- 浏览: 1588736 次
- 来自: 上海
文章分类
- 全部博客 (374)
- Java (101)
- Struts (54)
- Oracle (30)
- JavaScript (16)
- Spring (27)
- Hibernate (16)
- MyEclipse (3)
- JSF (1)
- FreeMarker (2)
- SiteMesh (2)
- JfreeChart (2)
- Ibatis (2)
- JSP (12)
- MyBatis (4)
- SWFupload (1)
- EJB (4)
- Jboss (4)
- WebService (2)
- Linux (16)
- Android (2)
- XML (6)
- Java 网络编程 (13)
- AXIS2 (1)
- FTP (1)
- Jswing (1)
- Socket (3)
- 杂文选集 (6)
- solr (2)
- PS (1)
- Tomcat (7)
- JDBC (9)
- Highcharts (1)
- maven (1)
- Nodejs (0)
- navicat (2)
- Exception (5)
- eclipse (3)
- jQuery (1)
- springMVC (4)
- MySQL (11)
- SVN (1)
- Sql Server (1)
- zookeeper (1)
- JVM (1)
- Groovy (2)
- Git (1)
- Nginx (1)
- DynamicReport (1)
- IDEA (2)
- JasperReports (1)
- Postgresql (2)
- Mac (1)
- gradle (1)
- 数据结构算法 (1)
最新评论
-
hpu145:
引用引用
java 千分位的添加和去除 -
被遗忘的下路:
少了个junit-4.8.2的包
SSH2整合完整案例(四十三) -
白天看黑夜:
java过滤emoji字符处理,希望能帮到你http://ww ...
emoji 表情图片解决方法 -
caipeiming:
这个挺好JavaScript实现input输入框控件只允许输入 ...
js 控制文本框只能输入中文、英文、数字等 -
双子树:
东西太好啦受教啊
Struts2 JSP中将list,set ,Map传递到Action然后<s:iterator>遍历(三十五)
Socket 点对面 通信 创建多客户连接的socket通信的方式,是在服务器端创建客户连接请求的监听线程,一旦客户发起请求,则服务器端用户创建和此客户端通信线程的和Socket,服务器把此客户端的通信交给此线程进行处理.同时继续在服务器的指定端口进行监听,来响应其他客户端的请求.
//TextFaceServer.java
package com.itheima.net.socket; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.ServerSocket; import java.net.Socket; /** * 点对面 server */ //操作Socket服务器端的类 public class TextFaceServer { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub try { new FaceServer(8080); } catch (Exception e) { System.out.println("服务器端进行端口监听出现异常:"+e.getMessage()); } } } class FaceServer extends ServerSocket{ private int port; //端口号 public FaceServer(int port) throws IOException { super(port); this.port=port; System.out.println("服务器已启动,监听端口为:"+port); System.out.println("正在等待客户端的连接....."); try { while (true) { Socket socketCon=accept(); new ServerThread(socketCon,port); } } catch (Exception e) { System.out.println("没有监听到客户端的信息....."); }finally{ close(); } } } //继承线程类 实现 服务器线程 class ServerThread extends Thread{ private int port; //端口 private Socket socketCon; //获得连接对象 private BufferedReader in; private PrintWriter out; public ServerThread(Socket socketCon,int port) throws Exception { this.port = port; this.socketCon = socketCon; //获取客户端的数据流 in=new BufferedReader(new InputStreamReader(this.socketCon.getInputStream(),"gb2312")); //获取写往客户端的数据输出流,true表示自动刷新 out=new PrintWriter(socketCon.getOutputStream(),true); //向客户端发送连接信息 out.println("服务器端连接成功....."); out.println("输入exit断开与服务器的连接"); start(); //启动线程 } //处理信息的方法 public String infoUpperString(String line){ return line.toUpperCase(); } //线程的run方法 public void run(){ try { boolean done=false; while (!done) { String line=in.readLine(); // 读取客户端的每行信息 if(line==null){ done=true; }else{ System.out.println("客户端传来的内容:"+line); String message=infoUpperString(line); out.println("从服务器端口发送的内容:"+message); if(line.trim().equals("exit")) done=true; } } System.out.println("客户端终止发送信息......"); socketCon.close(); //关闭通信资源 }catch (Exception e) { System.out.println("启动服务器端出现错误:"+e.getMessage()); } } }
//TextPointClient.java
package com.itheima.net.socket; import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.InetAddress; import java.net.Socket; /** * 点对面 client * @author Bin * */ public class TextPointClient { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub try { new PointClient("localhost",8080); } catch (Exception e) { System.out.println("测试客户端连接错误:"+e.getMessage()); } } } class PointClient{ //Socket点客户端 private String host; //Ip地址 或者域名 private int port; //端口 public PointClient(String host, int port) { this.host = host; this.port = port; connectionSocket(); } //连接的方法 public void connectionSocket(){ try { Socket socketConn; if(host.equals("localhost") || host.equals("127.0.0.1")){ //创建本地连接 socketConn=new Socket(InetAddress.getLocalHost(),port); }else{ socketConn=new Socket(InetAddress.getByName(host),port); //创建远程连接 } //获得从键盘的输入流 BufferedReader stdin=new BufferedReader(new InputStreamReader(System.in)); //获得服务器内容的数据流 PrintWriter out=new PrintWriter(socketConn.getOutputStream(),true); //获得服务器端发送内容的缓冲流 BufferedReader in=new BufferedReader(new InputStreamReader(socketConn.getInputStream())); System.out.println("服务器信息:"+in.readLine()); //从服务器端获取信息 System.out.println("服务器信息:"+in.readLine()); System.out.print("请输入>"); boolean done=false; while(!done){ String line=stdin.readLine(); //获得从键盘输入的每行字符 out.println(line); //发送到服务器端 if(line.equalsIgnoreCase("exit")) done=true; String info=in.readLine(); System.out.println("服务器信息:"+info); if(!done) System.out.println("请输入>"); } socketConn.close(); } catch (SecurityException e) { System.out.println("连接服务器出现安全问题:"+e.getMessage()); }catch (Exception e) { System.out.println("连接服务器出现I/O错误:"+e.getMessage()); } } }
发表评论
-
POST发送XML数据
2013-10-16 14:09 9973package com.itheima.xml; i ... -
发送 GET 和 POST请求
2013-10-05 11:28 3308/** *@param url 发送请求的url ... -
Java 多线程断点续传 (基于HTTP)
2013-03-14 09:42 8856http://wenku.baidu.com/view/57f ... -
Java 多线程断点续传 (基于HTTP)
2013-03-13 23:13 955http://wenku.baidu.com/view/57f ... -
Socket 点对点 通信
2013-03-13 12:54 4380Socket通常称作为 "套接字",用于描 ... -
Socket 点对点通信
2013-03-12 20:07 929Socket通常称作为 "套接字",用于描 ... -
FTP 上传 下载 登录
2013-03-12 11:20 32201.使用 Serv-U 在本机上创建一个 FTP服务器 h ... -
FTP 登录 下载 上传 文件
2013-03-11 22:43 101.使用 Serv-U 在本机上创建一个 FTP服务器 h ... -
URL 获取网络资源
2013-03-11 09:23 1977URL 获取网络资源 packag ... -
IP地址和域名的获取
2013-03-10 21:44 1440InetAddress 获取 IP地址和域名 packag ... -
Java 抓取网页上的图片
2012-09-23 17:28 12622本文介绍 1.利用正则 匹 ... -
java 下载网络上的图片并保存到本地目录
2012-09-22 02:32 57446import java.io.File; import ... -
java 根据URL获取网页源码
2012-09-21 00:20 11272import java.io.BufferedReader ...
相关推荐
综合这些信息,我们可以了解到这个项目是一个使用Java Swing开发的本地网络聊天软件,具备基本的用户登录功能,利用Oracle数据库存储登录信息,并通过Socket实现点对点和点对面的消息传递。服务器端和客户端的代码...
点对点面对面聊天室是一种基于网络通信技术的实时通讯应用,允许用户之间进行直接的信息交流。在本项目中,开发者使用了C#编程语言来构建这样一个聊天系统,它可能包括客户端和服务器端两部分,实现了基本的文字聊天...
Socket编程是网络编程中的核心技术,它允许两个或多个设备通过网络进行通信。在这个系统中,Socket将作为客户端与服务器之间的桥梁,使得用户能够进行实时的文本、音频、视频交流,以及一些附加功能如点歌、分组管理...
实时视频通信是现代通信技术中的一个重要组成部分,它允许用户通过网络进行面对面的视频交流,极大地增强了远程沟通的效率和体验。在Android平台上实现这一功能,需要结合多种技术和协议,包括SIP(Session ...
聊天室是一种多点通信程序,它实现了多个输入/输出端点之间的多对多通信,类似于一群人面对面地交谈。尽管许多聊天软件都是免费提供的,并且功能也越来越强大,但它们通常需要互联网连接才能使用。因此,开发一款...
接下来,**Socket.IO**是一个实时应用库,它在客户端和服务器之间提供双向通信。它在WebSocket协议之上提供了额外的功能,如心跳检测、重连机制和消息广播。在聊天室中,Socket.IO负责将用户的输入实时传输到其他...
本资源提供了在VB环境下使用Winsock进行简单编程的实例,特别关注了多客户端的点对点和点对面通讯模式。 首先,让我们了解Winsock控件的基本结构和属性: 1. **控件添加**:在VB中,你可以通过控件工具箱将Winsock...
Node.js是一个基于Chrome V8引擎的JavaScript运行环境,它允许开发者在服务器端使用JavaScript编写代码,而socket.io则是一个实时应用框架,它为实时双向通信提供了简单易用的API。 在Node.js中,我们可以使用...
4. **Socket通信**:在某些情况下,Flash还可能利用Socket进行双向通信,实现更灵活的数据交换,比如私聊、群聊、发送文件等高级功能。 5. **服务器架构**:视频聊天程序通常需要一个强大的后端来处理大量的并发...
**Socket.IO** 是一个实时应用框架,它提供了双向的实时通信机制。在 parasiteChat 中,Socket.IO 负责在客户端和服务器之间建立持久的连接,实现实时的消息传递。用户一旦发送消息,其他在线的参与者能立即接收到,...
作为一款现代的音乐播放器,它不仅具备基础的播放、暂停、上一曲、下一曲等操作,还增加了创新性的功能,如摇一摇切歌和通过socket实现的面对面传歌,以及个性化的音效设置。 摇一摇切歌是音乐播放器中的一个趣味性...
这个聊天室允许用户通过网络摄像头分享视频,并进行音频通信,提供了类似于现实生活中面对面交谈的体验。 Flex框架包含Adobe Flex SDK,它包含了编译Flex应用所需的编译器、库和工具。开发人员可以使用Flex Builder...
- **套接字编程**:C#中的System.Net.Sockets命名空间提供了Socket类,用于实现基于TCP或UDP的网络通信。在P2P系统中,通常选择TCP协议,因为它能确保数据的可靠传输。 - **监听与连接**:服务器端需创建一个监听...
- Socket.IO可以实现实时双向通信,非常适合于WebRTC的信令传输。 5. 实施步骤: - 创建Node.js项目,安装必要的依赖,如express、socket.io等。 - 设计WebSocket或HTTP信令系统,处理offer、answer和candidate...
以下是对标题和描述中提及的几个关键知识点的详细解释: 2.1 安全问题的产生 电子商务的安全问题主要源于交易环境、交易对象、交易过程的特性。与传统商务相比,电子商务无需面对面交易,而是通过互联网进行,这就...
Socket是Java中需要编写较低层次的网络通信程序时提供的一种通讯机制,用于两个程序进行双向数据传输的网络通信的端点。 本文档详细介绍了基于C/S模型的Java聊天室系统的设计和实现,包括系统的特点、开发意义、...
VB提供了Socket编程接口,可以实现TCP/IP通信,让应用能在局域网内发送和接收数据,实现聊天功能。 3. **办公自动化**:办公自动化是指通过信息技术改进工作流程,提高工作效率。这款聊天软件就是其中一种工具,它...
Java远程视频会议系统是一种利用网络技术实现实时音视频通信的应用,它能够让身处不同地理位置的参与者通过互联网进行面对面的交流。这种系统通常包含多个核心组件,如音视频编码解码、数据传输、多路混音、屏幕共享...
网络对战功能的实现基于网络通信技术,这涉及到TCP/IP协议、socket编程等网络编程基础。开发者可能使用了Qt自带的QNetworkAccessManager和QNetworkReply类来处理网络请求和响应,确保数据的可靠传输。 聊天功能是...