- 浏览: 1582190 次
- 性别:
- 来自: 北京
-
文章分类
最新评论
-
nich002:
原网站失效了。撸主简单粗暴的复制过来,可读性极差!差评!
Apache配置详解(最好的APACHE配置教程) -
107x:
不错,谢谢!
LINUX下查看文件夹下的文件个数! -
Hypereo:
好你妹,连个格式都没有!
Apache配置详解(最好的APACHE配置教程) -
resteater:
代码排版感觉有点乱!收发信息代码可读性不强!请问第一次发服务器 ...
java socket例子 -
resteater:
代码排版感觉有点乱!收发信息代码可读性不强!请问第一次发服务器 ...
java socket例子
今天没事继续试着玩,感觉这次一定要彻底搞定了,不能继续像以前那样了!!!
Server端
package test.bwl; import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.IOException; import java.net.ServerSocket; import java.net.Socket; public class SocketManager { /** * @param args * @throws IOException */ public static void main(String[] args) { SocketManager manager = new SocketManager(); manager.doListen(); } public void doListen() { ServerSocket server; try { server = new ServerSocket(9991); while (true) { Socket client = server.accept(); new Thread(new SSocket(client)).start(); } } catch (IOException e) { e.printStackTrace(); } } //服务器进程 class SSocket implements Runnable { Socket client; public SSocket(Socket client) { this.client = client; } public void run() { DataInputStream input; DataOutputStream output; try { input = new DataInputStream(client.getInputStream()); output = new DataOutputStream(client.getOutputStream()); // String listMsg = input.readUTF(); output.writeUTF("Recive: " + listMsg + " \r\n Thx..."); System.out.println("Recive: " + listMsg); listMsg = input.readUTF(); output.writeUTF("Recive Second: " + listMsg + " \r\n Thx..."); System.out.println("Recive Second: " + listMsg); } catch (IOException e) { e.printStackTrace(); } } } }
Client端:
package test.bwl; import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.IOException; import java.io.OutputStream; import java.net.Socket; import java.net.UnknownHostException; public class SocketClient { public static void main(String[] args) { Socket socket = null; try { socket = new Socket("127.0.0.1", 9991); //向服务器端第一次发送字符串 OutputStream netOut = socket.getOutputStream(); DataOutputStream doc = new DataOutputStream(netOut); DataInputStream in = new DataInputStream(socket.getInputStream()); //向服务器端第二次发送字符串 doc.writeUTF("list"); String res = in.readUTF(); System.out.println(res); doc.writeUTF("bye"); res = in.readUTF(); System.out.println(res); doc.close(); in.close(); } catch (UnknownHostException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { if (socket != null) { try { socket.close(); } catch (IOException e) { } } } } }
评论
14 楼
resteater
2014-08-05
代码排版感觉有点乱!收发信息代码可读性不强!请问第一次发服务器发送信息,哪里发了?只是定义了一个发送通道而已,所以你的注释写错,这样会误导别人!
13 楼
resteater
2014-08-05
代码排版感觉有点乱!收发信息代码可读性不强!请问第一次发服务器发送信息,哪里发了?只是定义了一个发送通道而已,所以你的注释写错,这样会误导别人!
12 楼
kdsde
2013-06-21
![](/images/smiles/icon_cry.gif)
11 楼
z87663849
2013-04-12
可以增加个长链接来试试!
10 楼
cuisuqiang
2012-10-15
9 楼
speedup
2011-12-09
client.close();这句要加上,
负责服务端会一直阻塞在这里。
负责服务端会一直阻塞在这里。
8 楼
speedup
2011-12-09
在线程里面的 Socket client; 没有close掉啊。
7 楼
奥义之舞
2011-06-21
![](/images/smiles/icon_biggrin.gif)
![](/images/smiles/icon_biggrin.gif)
![](/images/smiles/icon_biggrin.gif)
![](/images/smiles/icon_biggrin.gif)
![](/images/smiles/icon_biggrin.gif)
6 楼
uqortbsa
2010-09-30
明白了,原来socket的一般流程就是这样写的,不过这个程序还不够完美,期待中……
5 楼
zyy571137
2010-09-07
有些东西没关闭哦。
4 楼
happycredit
2009-03-07
麻烦把通信的流程说说吧,看得不太懂,谢谢
3 楼
liudaoru
2008-11-27
2 楼
liudaoru
2008-11-27
java socket与 c socket通讯的问题:http://topic.csdn.net/t/20041229/18/3686586.html#
1 楼
liudaoru
2008-11-27
可以看出这是阻塞式的处理流程,客户端和服务器端的接受和发送必须保持一致。
发表评论
-
JVM问题追查与调优
2012-03-27 14:44 1156JDK的几种分析工具 http://liudaoru ... -
NodeJs相关资料
2011-08-18 14:55 3028NodeJs获取参数: proces ... -
jprofiler追踪问题
2011-08-12 18:20 1058Jprofiler下载页: http://www.ej ... -
Linux服务器性能评估与优化【z】
2011-07-01 10:05 1564来自:http://www.itlearner.com/ ... -
Java 理论与实践: 非阻塞算法简介【z】
2011-03-26 20:39 1296From: http://www.ibm.com/develo ... -
Java Crash问题分析[z]
2011-03-23 14:41 5982参考: http://www.ibm.com/develop ... -
Berkeley DB相关
2010-09-25 22:17 1063为什么要使用Berkeley DB,它适合什么场合应用?Ber ... -
熟悉系统方法总结
2010-07-06 14:26 829了解一个陌生的系统是我们经常碰到的事情,下面总结一下自己的一些 ... -
Java缓存框架 EhCache
2010-07-06 14:09 4739From: http://www.oschina.net/p/ ... -
【nio】使用 ServerSocketChannel 实现的 File 服务器[z]
2010-05-21 17:31 3993From: http://www.java2000.net/p ... -
Memcached命令行管理
2010-03-15 11:18 4503From: http://www.exp2up.com/2 ... -
(转)Resin服务器配置指南
2010-01-21 15:35 3503From:http://blog.21cn.com/super ... -
Flickr架构
2010-01-11 09:52 1275From: http://www.cyask.com/ques ... -
JDK的几种分析工具
2009-12-04 12:13 10914From: http://blog.csdn.net/hant ... -
XMemcached——一个新的开源Java memcached客户端
2009-10-23 09:27 1903From: http://www.infoq.com/cn/ ... -
多线程任务调度学习
2009-10-16 13:58 2319昨天找到一套多线程任务调度的代码,相当的不错,先把思路总结一下 ... -
用HSCALE实现MySQL的数据分布式存储
2009-10-15 12:47 3028From:http://www.ningoo.net/ht ... -
马化腾:搜索、电子商务硬仗一定要坚持打
2009-10-15 12:09 1729From:http://www.techweb.com.c ... -
MySQL分表实现上百万上千万记录分布存储的批量查询设计模式【z】
2009-10-15 09:56 3184From:http://hi.baidu.com/jabber ... -
nginx负载均衡和lvs负载均衡的比较分析【z】
2009-10-13 20:02 1488From:http://www.shouker.com/u ...
相关推荐
Java Socket是Java编程...总结来说,这个Java Socket例子展示了如何在Java中创建基本的客户端-服务器通信,特别是在处理中文数据时进行了优化。通过理解Socket的工作原理,我们可以构建出稳定、高效的网络应用程序。
在这个例子中,我们将探讨如何使用Java Socket进行数据的发送和接收。Socket在Java中被封装在`java.net.Socket`和`java.net.ServerSocket`类中,分别用于客户端和服务器端的通信。 首先,我们从服务器端开始。在...
通过这个入门例子,初学者可以理解Java Socket编程的基本原理和操作步骤,为进一步的网络编程打下坚实的基础。实际开发中,还可以结合NIO(非阻塞I/O)或其他高级框架如Netty,提高网络通信的效率和灵活性。
Java Socket通信是网络编程中的基础概念,主要用于实现客户端与服务器之间的双向通信。在这个"JAVA Socket通信示例"中,我们可能会看到如何通过Socket类来创建连接,实现数据的单工、半双工和全双工传输。下面我们将...
本例包含服务器端和客户端,多线程,每线程多次发送,Eclipse工程,启动服务器使用 nu.javafaq.server.NioServer,启动客户端使用 nu.javafaq.client.NioClient。另本例取自javafaq.nv上的程序修改而成
在Java编程语言中,Socket是实现网络通信的基础组件。...同时,这个例子也适合初学者作为入门教程,通过实际操作加深对Socket编程的理解。在实际开发中,可以结合其他技术,如多线程、NIO等,提升程序性能和稳定性。
在这个例子中,我们将探讨如何使用Java的Socket API进行客户端-服务器通信。首先,我们有两个主要的角色:一个是服务器端(Server),它监听特定的端口等待连接;另一个是客户端(Client),它尝试连接到服务器并...
Java Socket远程执行任务是一种通过网络通信在客户端与服务器之间实现命令传递和执行的技术。在这个例子中,客户端将命令和一个名为"FindWordCount.jar"的Java可执行文件发送到服务器,然后服务器执行这个jar包并...
让我们通过三个逐步进阶的例子来理解Java Socket通信的实现: 1. **简单回显服务器**:这个例子展示了最基本的ServerSocket和Socket的使用。服务器端创建ServerSocket并监听一个端口,当客户端连接时,服务器接收...
通过这两个小例子,我们可以看到Java Socket编程的基本结构和TCP与UDP的区别。TCP提供稳定、有序的连接,适合对数据完整性有较高要求的场景;而UDP则适用于对实时性要求高、能接受一定程度数据丢失的场合,如视频流...
一个简单的聊天室系统就是一个使用Java Socket实现的典型例子,服务器端接收多个客户端的连接请求,每个客户端都可以发送消息给其他所有在线的客户端。 十、总结 Java Socket编程是构建网络应用的基础,掌握其原理...
在这个例子中,服务器端创建一个`ServerSocket`并接受一个连接,读取客户端发送的消息并回应,然后关闭Socket。客户端创建一个`Socket`,向服务器发送消息并读取回应,然后关闭Socket。这就是一个基本的短连接通信...
是一个java在进行socket编程时,关于线程池的介绍,有代码和例子
Java Socket教程是一个深入学习Java网络编程的重要资源,它涵盖了如何使用Java的Socket API进行客户端-服务器通信的关键概念和技术。在本文中,我们将详尽探讨Java Socket编程的基础、工作原理以及如何实现基本的...
Java Socket是Java网络编程中的重要组成部分,主要用于实现客户端与服务器之间的通信。在这个实例中,我们有两个关键组件:Server和Client,它们通过Socket进行交互。下面将详细解释Java Socket的工作原理、如何创建...
在这个"一个简单的JAVA SOCKET的例子"中,我们可以通过分析描述和标签了解到,它是一个基于Java的简单聊天程序,包含服务端和客户端,且使用了Swing库来构建用户界面,非常适合初学者学习。 首先,让我们从基础开始...
基于TCP和UDP的socket编程,给出了最简单的示例代码。 相关博文地址: http://blog.csdn.net/wintys/archive/2008/12/15/3525643.aspx http://blog.csdn.net/wintys/archive/2008/12/15/3525619.aspx
例子都可以跑通均已测试通过 com.socket 包中是一个简单的客户端发给服务器的例子 com.socket.complex 使用多线程来模拟通信 com.socket.block 根据客户端传递的参数来返回不同的信息
在本示例中,我们探讨的是一份简单的Java Socket程序,其中融入了线程的概念,这意味着我们可以同时处理多个连接,提高了服务端的并发能力。 首先,我们需要理解Socket的基本概念。Socket是TCP/IP协议族的一部分,...
这个socket通信比较直观,比较容易看懂,实现了Java中的socket的通信问题。是Java网络编程的一个比较不错的例子!