- 浏览: 1573191 次
- 来自: 上海
文章分类
- 全部博客 (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 9938package com.itheima.xml; i ... -
发送 GET 和 POST请求
2013-10-05 11:28 3270/** *@param url 发送请求的url ... -
Java 多线程断点续传 (基于HTTP)
2013-03-14 09:42 8828http://wenku.baidu.com/view/57f ... -
Java 多线程断点续传 (基于HTTP)
2013-03-13 23:13 926http://wenku.baidu.com/view/57f ... -
Socket 点对点 通信
2013-03-13 12:54 4334Socket通常称作为 "套接字",用于描 ... -
Socket 点对点通信
2013-03-12 20:07 898Socket通常称作为 "套接字",用于描 ... -
FTP 上传 下载 登录
2013-03-12 11:20 31941.使用 Serv-U 在本机上创建一个 FTP服务器 h ... -
FTP 登录 下载 上传 文件
2013-03-11 22:43 101.使用 Serv-U 在本机上创建一个 FTP服务器 h ... -
URL 获取网络资源
2013-03-11 09:23 1949URL 获取网络资源 packag ... -
IP地址和域名的获取
2013-03-10 21:44 1413InetAddress 获取 IP地址和域名 packag ... -
Java 抓取网页上的图片
2012-09-23 17:28 12589本文介绍 1.利用正则 匹 ... -
java 下载网络上的图片并保存到本地目录
2012-09-22 02:32 57347import java.io.File; import ... -
java 根据URL获取网页源码
2012-09-21 00:20 11245import java.io.BufferedReader ...
相关推荐
Socket通信Socket通信Socket通信Socket通信Socket通信Socket通信Socket通信Socket通信Socket通信Socket通信Socket通信Socket通信Socket通信Socket通信Socket通信Socket通信Socket通信Socket通信Socket通信
实现android手机上点对点socket通信
本代码通过异步套接字实现点对点通信,基本想法是用于多个客户端直接相互通信而不经过服务器。
android studio Socket客户端服务器通信 TCP/IP通信android studio Socket客户端服务器通信 TCP/IP通信android studio Socket客户端服务器通信 TCP/IP通信
socket通信socket通信socketsocksocket通信et通信通信socket通信socket通信
基于QT的socket点对点编程源码, 适用于局域网 为基本的socket编程,是一家大型IT面试公司的题目 需要的可以下载
socket通信代码,包括服务端和客户端程序,服务端和客户端能实现通信
同步套接字通信 Socket支持下的网上点对点的通信 服务端实现监听连接,客户端实现发送连接请求,建立连接后进行发送和接收数据的功能
Linux环境下基于Socket的网络通信.pdf
(2) 服务器在同一时刻只能与一个客户通信,直到该客户退出才可以接收下一个客户。 (3) 客户程序使用命令行参数指定服务器地址 (4) 客户端输入的文本都发送给服务器 包含必要的头文件和连接的WinSock 库,分别...
Java Socket 聊天通信演示代码 Java Socket 聊天通信演示代码
1.利用 WinSock 来实现双机通信,理解 TCP 状态机图。 2.要求使用 WinSock 编程,采用其中的 TCP 面向连接方式,实现文本数据的交 换。
c语言下进行socket通信
自己写的一个socket通信实例,点对点,每个点同时是 SERVER和CLIENT,易步处理接收数据.
Socket及串口通信完整代码Socket及串口通信完整代码Socket及串口通信完整代码
socket通信文件传输 socket通信文件传输 socket通信文件传输 socket通信文件传输
Socket及串口通信完整代码Socket及串口通信完整代码Socket及串口通信完整代码
windows下socket通信代码,带注释,适合初学者;包含客户端和服务器两个文件
只包含源代码部分(需要重新编译) 实验软件:Window10,VS2019 实验硬件: Intel® Core™ i5-8250U CPU @1.60GHz 1.80GHz