这个Socket的例子是只有一个服务器端(Server)和一个客户端(Client)
package test_Socket_base;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
public class Server {
public static void main(String[] args) {
ServerSocket server; //其方法accept 用来监听客户端的链接
Socket socket; //服务器端Socket对象
DataInputStream in; //数据输入输出流
DataOutputStream ou;
try {
server = new ServerSocket(22222); //启动监听,端口为22222
while(true) {
socket = server.accept();
in = new DataInputStream(socket.getInputStream()); //获取Socket中的出入输出流,以完成通信
ou = new DataOutputStream(socket.getOutputStream());
//---------- 这里可以换成任何数据包的接受和发送 ----------
String receive = in.readUTF(); //读取客户端信息
ou.writeUTF("已收到信息!谢谢!");//向客户端发送信息
//注意:读取和发送的顺序不能错
ou.close();
in.close();
socket.close();
System.out.println(receive);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
package test_Socket_base;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.net.Socket;
public class Client {
public static void main(String[] args) {
Socket socket; //客户端Socket对象
DataInputStream in; //输入输出流
DataOutputStream ou;
try {
socket = new Socket("127.0.0.1",22222); //新new一个客户端Socket,制定其链接的服务器地址和端口号
in = new DataInputStream(socket.getInputStream());//获取Socket中的出入输出流,以完成通信
ou = new DataOutputStream(socket.getOutputStream());
//---------- 这里可以换成任何数据包的接受和发送 ----------
ou.writeUTF("send"); //向服务器端发送信息
String receive = in.readUTF(); //接受服务器的反馈信息
in.close();
ou.close();
socket.close();
System.out.println(receive);
} catch (Exception e) {
e.printStackTrace();
}
}
}
- 大小: 2.5 KB
分享到:
相关推荐
在标题"socket 一个服务器对应多个客户端使用多线程"中,提到的是使用Socket编程来设计一个服务器,该服务器能够同时处理来自多个客户端的连接请求,这通常被称为“一对一”或“一对多”模型。在Linux环境下,这种...
在这个特定的场景中,我们讨论的是一个设计为连接多个服务器的Socket客户端。这个客户端程序能够向多个服务端发送消息,并且在消息中携带自身的ID,以便服务端识别消息来源。此外,它还具备了自动重连功能,即在非...
C#语言开发多线程Socket服务器端程序,实现一个服务器同时与多个客户端连接对话。这里,我们将详细讲解如何使用C#语言开发多线程Socket服务器端程序,实现一个服务器同时与多个客户端连接对话。 多线程Socket服务器...
在C++中,实现这样的多客户端socket服务器需要以下关键步骤: 1. **初始化socket库**:首先,需要包含必要的头文件(如`#include <sys/socket.h>`,`#include <netinet/in.h>`,`#include <arpa/inet.h>`等),并...
在客户端唯一需要知道的就是它归属的调度服务器的通信IP和端口,因此client是发送连接的主动方,由调度服务器监听是否有client请求建立连接,当建立连接成功后,把该连接信息存储到一个结合中以便监控client的存货...
在这个场景中,我们有一个"一个服务器一个客户端的Socket"程序,它基于Win32控制台环境,利用TCP(传输控制协议)进行数据通信。让我们深入探讨这个程序涉及到的知识点。 首先,Socket接口是操作系统提供的用于进程...
在这个"socket编程实例,客户端和服务器端一对一信息传输"的示例中,我们将会探讨如何在Microsoft Visual C++ (VC++)环境下利用Socket API来构建一个简单的点对点通信系统。 首先,我们要了解Socket的基本概念。...
4. **接受连接**:当有客户端连接时,使用`Socket.Accept()`方法接收连接并返回一个新的Socket对象,用于与客户端进行数据交换。 5. **接收和发送数据**:通过`Socket.Receive()`和`Socket.Send()`方法进行数据的...
当有客户端连接时,accept()方法会被阻塞,直到客户端发起连接请求,此时服务器会返回一个新的socket用于与客户端通信。 `client.py`文件则代表了客户端的代码,它创建socket对象,连接到服务器的IP和端口。客户端...
一个服务器端和多个客户端的Socket通信。启动服务端后,服务端通过持续监听客户端发来的请求,一旦监听到客户端传来的信息后,两端便可以互发信息了。服务器端需要绑定一个IP和端口号,用于客户端在网络中寻找并建立...
在本文中,我们将深入探讨如何使用C#编程语言通过Socket实现一个简单的聊天系统,使得服务器可以与多个客户端进行通信。Socket在计算机网络编程中扮演着重要角色,它提供了进程间通信(IPC)的能力,允许不同计算机...
一旦有客户端连接,服务器会创建一个新的Socket来处理这个连接,并通过这个Socket与客户端进行数据交互。在`commonsocket.cpp`文件中,可能包含了服务器端Socket的基本操作,如初始化Socket、绑定到特定IP和端口、...
总结一下,Socket服务器与客户端编程结合链表是一种常见的网络编程模式,特别是在处理并发连接时。通过链表,服务器可以高效地管理多个客户端连接,而Socket则提供了底层的通信机制。改端口可以根据实际需求调整...
本示例中的"自己写的socket 客户端 服务器聊天demo"是一个基于非阻塞模式的简单聊天应用,旨在帮助开发者理解和实践网络通信的基本原理。 首先,让我们深入理解什么是Socket。Socket是操作系统提供的一个接口,允许...
`accept()`返回一个新的`Socket`对象,代表与客户端的连接。 3. 获取`Socket`的输入和输出流,通常是`InputStream`和`OutputStream`的子类,如`InputStreamReader`和`BufferedReader`或`OutputStreamWriter`和`...
在这个"Socket服务器和客户端"的小例子中,我们可以通过修改头文件中的服务器IP地址,轻松地运行一个简单的下载服务。接下来,我们将深入探讨Socket的基本概念、服务器和客户端的工作原理以及如何实现这个小例子。 ...
android studio Socket客户端服务器通信 TCP/IP通信android studio Socket客户端服务器通信 TCP/IP通信android studio Socket客户端服务器通信 TCP/IP通信
本示例将深入讲解如何创建一个简单的Socket服务器端和客户端,以帮助理解Java中的网络编程。 首先,我们要了解Socket的基本概念。Socket在计算机网络中扮演着桥梁的角色,它连接了服务器端应用程序和客户端应用程序...
在本项目中,"TCPNetKit"是一个已经封装好的Socket库,包含了服务器端和客户端的功能,允许两者之间进行消息交互。以下是对这个库的一些详细说明和相关知识点: 1. **Socket基本概念**:Socket是操作系统提供的一种...