Java综合 .
写了一个javaSocket通信的例子,比较容易懂,主要是TCP协议的。下面是服务端的代码
Java代码 复制代码 收藏代码
1.import java.io.IOException;
2.import java.net.InetAddress;
3.import java.net.Socket;
4.
5.public class ServerSocket {
6.
7. public static void main(String[] args) {
8. beginSocket();
9. }
10.
11. public static void beginSocket(){
12. try {
13. java.net.ServerSocket serverSocket=new java.net.ServerSocket(3456);
14. InetAddress inta=serverSocket.getInetAddress().getLocalHost();
15. System.out.println(inta.getHostAddress());
16. while(true){
17. Socket socket=serverSocket.accept();
18. new HelloMessage(socket);
19. }
20. } catch (IOException e) {
21. e.printStackTrace();
22. }
23. }
24.}
为了提高并发时的处理效率,对于每个请求,系统都新建一个线程处理。
Java代码 复制代码 收藏代码
1.import java.io.BufferedReader;
2.import java.io.InputStreamReader;
3.import java.io.PrintWriter;
4.import java.net.Socket;
5.
6.public class HelloMessage extends Thread {
7. private Socket socket_ = null;
8. public HelloMessage(Socket socket) {
9. this.socket_ = socket;
10. this.start();
11. }
12.
13. public void run() {
14. try {
15. BufferedReader bReader = new BufferedReader(new InputStreamReader(
16. this.socket_.getInputStream()));
17. PrintWriter pWriter = new PrintWriter(this.socket_
18. .getOutputStream());
19. String requestStr = bReader.readLine();
20. if (requestStr != null && !"".equals(requestStr)) {
21. if (requestStr.equals("java")) {
22. pWriter.println("your write is java");
23. }
24. if (requestStr.equals(".net")) {
25. pWriter.println("your write is .net");
26. }
27. if (requestStr.equals("php")) {
28. pWriter.println("your write is php");
29. }
30. if (requestStr.equals("end")) {
31. pWriter.println("your write is end");
32.
33. }else{
34. pWriter.println("your write is other");
35. }
36. }else{
37. pWriter.println("your write is null");
38. }
39. pWriter.flush();
40. pWriter.close();
41. bReader.close();
42. this.socket_.close();
43. } catch (Exception e) {
44. e.printStackTrace();
45. }
46.
47. }
48.}
然后是客户端的代码。
Java代码 复制代码 收藏代码
1.import java.io.BufferedReader;
2.import java.io.IOException;
3.import java.io.InputStreamReader;
4.import java.io.PrintWriter;
5.import java.net.Socket;
6.import java.net.UnknownHostException;
7.
8.public class ClientSocket {
9. public static void main(String[] args) {
10. clientRequest();
11. }
12. private static void clientRequest() {
13. try {
14. while (true) {
15. Socket clientSocket = new Socket("172.168.4.105", 3456);
16. BufferedReader bReader = new BufferedReader(new InputStreamReader(
17. System.in));
18. System.out.println("please input java or .net or php or end");
19. String strLine = bReader.readLine();
20. if (strLine != null && !"".equals(strLine)) {
21. PrintWriter pWriter = new PrintWriter(clientSocket
22. .getOutputStream(), true);
23. pWriter.println(strLine);
24. BufferedReader br = new BufferedReader(
25. new InputStreamReader(clientSocket.getInputStream()));
26. String strResult = br.readLine();
27. System.out.println(strResult);
28.
29. pWriter.flush();
30. pWriter.close();
31. clientSocket.close();
32. }
33. }
34. } catch (UnknownHostException e) {
35. e.printStackTrace();
36. } catch (IOException e) {
37. e.printStackTrace();
38. }
39. }
40.}
这样一个简单的TCP,Socket编程的原型就成了。简单介绍下:
几个比较重要的API
.Accept方法用于产生"阻塞",直到接受到一个连接,并且返回一个客户端的Socket对象实例。
.getInputStream方法获得网络连接输入,同时返回一个IutputStream对象实例,。
.getOutputStream方法连接的另一端将得到输入,同时返回一个OutputStream对象实例。
分享到:
相关推荐
Modbus 协议是一项应用层报文传输协议,它在连接至不同类型总线或网络的设备之间提供客户机/服务器通信,包括 ASCII、RTU、TCP 三种报文类型。 Modbus TCP 数据帧由 MBAP 和 PDU 两部分组成。MBAP 是报文头,长度为...
在"javaSocket的Tcp通信方式两个线程,一个线程接收数据一个线程发送数据"这个场景下,我们将探讨如何通过多线程来优化TCP通信的效率和响应性。 首先,TCP(Transmission Control Protocol)是一种面向连接的、可靠...
在这个“javaSocket客户端与服务端”的程序中,我们有两个主要的组件:Server.java(服务端)和Client.java(客户端)。下面将详细阐述这两个组件在实现TCP通信中的工作原理以及相关的Java Socket知识点。 首先,...
在Java中,Socket提供了基于TCP/IP协议的网络通信接口,是实现客户端-服务器模型的基础。在这个示例中,我们将深入探讨Java Socket通信编程的基本概念、步骤以及如何通过代码实现。 首先,理解Socket的基本概念:...
Java Socket通信是一种基于TCP/IP协议的网络编程技术,它允许Java程序之间进行数据交换。Socket通信分为服务端Socket和客户端Socket两种。服务端Socket在指定端口监听,等待客户端Socket的连接请求;而客户端Socket...
JavaSocket聊天通信演示代码是一种能够帮助开发者快速理解如何使用JavaSocket进行网络编程的资源。通过这类代码演示,开发者可以学习到客户端与服务器之间的数据传输、消息的处理等核心概念。 在JavaSocket编程中,...
在Eclipse项目中,`2017-10-01 JavaSocket通信基础`很可能包含了服务端和客户端的源代码,其中会有详细的注释说明每个步骤的实现。通常,项目会包含两个独立的Java类,一个代表服务器,另一个代表客户端。通过运行这...
Socket是TCP/IP协议族的一部分,它提供了应用程序通过网络进行通信的能力。在Java中,`java.net.Socket`类代表了客户端到服务器的一个连接,而`java.net.ServerSocket`类用于监听并接受来自客户端的连接请求。在聊天...
Java中的`java.net.Socket`类代表了TCP协议中的一个连接,它允许两台机器之间的双向通信。在服务器端,我们首先需要创建一个`ServerSocket`实例来监听特定端口上的连接请求。 2. **ServerSocket**: `java.net....
Java Socket 是Java编程语言中用于实现网络通信的基础类库,它允许Java程序作为一个TCP客户端,与服务器进行数据交互。在本“Java Socket的即时通信系统客户端代码分享”中,我们将探讨如何利用Java Socket构建一个...
Java Socket编程是Java中进行网络通信的核心技术,它允许两个网络应用程序通过TCP/IP协议进行数据交换。在Java中,Socket和ServerSocket类是实现客户端-服务器模型的基础。 首先,我们要理解网络编程中的两个关键...
【JavaSocket多客户端并发通信聊天程序】是一种基于Java编程语言实现的网络通信应用程序,它允许多个客户端同时与服务器进行交互,实现多人实时聊天的功能。JavaSocket利用了Java提供的强大网络编程接口,使得开发者...
`FileNetServerCpp`很可能是一个实现了Socket服务端的C++源代码文件。在C++中,我们可以使用标准库中的`<sys/socket.h>`和`<netinet/in.h>`来创建和管理Socket。服务器端的主要步骤包括: 1. 创建Socket:调用`...
在这个“javasocket例子,包含多线程部分实现”的教程中,我们将深入探讨Java Socket如何与多线程相结合,以实现更高效、更复杂的网络应用程序。 首先,Java Socket分为ServerSocket和Socket两种类型。ServerSocket...
在给定的“javaSocket”压缩包中,包含了一个TCP聊天室服务器(TCPChatRoomServer)和一个对应的客户端(TCPChatRoomClient)的源代码。这些代码可以帮助我们理解如何在Java中实现基于Socket的网络通信。 首先,让...
Socket是基于TCP/IP协议族的通信方式,Java.net包中的Socket类和ServerSocket类为开发者提供了便捷的网络通信接口,隐藏了底层实现细节,使得开发人员能快速构建网络通信程序。 2. **Socket通信机制** - **流式...
java源码资源Java Socket 聊天通信演示代码提取方式是百度网盘分享地址
下面的示例代码演示了如何使用 Java 实现文件的转换,将一个文件中的文本全部转换成大写字母后保存到另一个文件中。 ```java import java.io.*; public class Uppercase { public static void main(String[] args)...
- **Socket**:Java中的Socket类代表TCP协议中的一个连接,它是两台机器间通信的端点。每个Socket都有一个IP地址和端口号,用于唯一标识网络上的连接。 - **ServerSocket**:ServerSocket类则用于监听特定端口的...