//运行时输入端口
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.net.SocketAddress;
public class TCPEchoServer
{
/**
* @param args
*/
private static final int BUFSIZE = 32;
public static void main(String[] args) throws IOException
{
if (args.length != 1)//获取启动服务的端口
throw new IllegalArgumentException("Parameter(s): <Port>");
int servPort = Integer.parseInt(args[0]);
//分配一个端口用于启动server端
ServerSocket servSock = new ServerSocket(servPort);
int recvMsgSize;
byte[] receiveBuf = new byte[BUFSIZE];
while (1)
{
Socket clntSock = servSock.accept(); //接收客户端的主动连接
SocketAddress clientAddress = clntSock.getRemoteSocketAddress();
System.out.println("Handling client at " + clientAddress);
InputStream in = clntSock.getInputStream();
OutputStream out = clntSock.getOutputStream();
while ((recvMsgSize = in.read(receiveBuf)) != -1)
{
out.write(receiveBuf, 0, recvMsgSize);
}
clntSock.close();
}
}
}
运行java TCPEchoServer 8001
8001为端口号
//运行时输入 连接地址 字符 端口
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;
import java.net.SocketException;
public class TCPEchoClient
{
public static void main(String[] args) throws IOException
{
if ((args.length < 2) || (args.length > 3)) // 传入的数据在2~3之间,0:地址 1:传输字符 <2:端口>
throw new IllegalArgumentException("Parameter(s): <Server> <Word> [<Port>]");
String server = args[0]; // ip地址或主机名称
byte[] data = args[1].getBytes();
int servPort = (args.length == 3) ? Integer.parseInt(args[2]) : 7;//默认端口为7
Socket socket = new Socket(server, servPort);
System.out.println("Connected to server...sending echo string");
InputStream in = socket.getInputStream();
OutputStream out = socket.getOutputStream();
out.write(data);
int totalBytesRcvd = 0;
int bytesRcvd;
while (totalBytesRcvd < data.length) {
if ((bytesRcvd = in.read(data, totalBytesRcvd,data.length - totalBytesRcvd)) == -1)
throw new SocketException("Connection closed prematurely");
totalBytesRcvd += bytesRcvd;
}
System.out.println("Received: " + new String(data));
socket.close();
}
}
运行java TCPEchoClient 172.0.0.1 "quan" 8001
172.0.0.1为启动服务的ip
"quan"为传输的字符
8001为启动服务的端口
在cs系统中client连接server需要sap<ip:port>
分享到:
相关推荐
在本项目中,我们探讨的是一个基于Java实现的C/S(客户端/服务器)架构的聊天系统。这个系统利用了Java的非阻塞I/O(NIO)机制,Socket通信以及多线程IO操作来实现一系列的功能,包括好友管理、聊天交互和文件传输,...
【标题】基于SOCKET的C/S结构聊天室 在计算机网络通信中,C/S(Client/Server)架构是一种常见的通信模型,它由客户端和服务器端组成。在这个基于Java的聊天室项目中,我们利用了Socket编程来实现C/S架构,从而实现...
在本文中,我们将深入探讨如何使用Java来实现一个基于C/S(客户端/服务器)架构的聊天系统。这个系统利用了NIO(非阻塞I/O)机制、Socket通信以及多线程IO操作,实现了诸如好友管理、聊天交互以及文件传输等核心功能...
Java版的C/S简单Socket通讯是基于Java编程语言,利用Socket接口实现的客户端/服务器通信模型。在这个场景中,"SWT"(Standard Widget Toolkit)是用于构建图形用户界面(GUI)的库,它提供了丰富的控件和组件,使得...
【基于C/S模式的JAVA聊天室】是一种网络通信应用程序,它使用了客户端/服务器(Client/Server,简称C/S)架构。在这个系统中,客户端是用户使用的界面,用于发送和接收消息,而服务器端则是处理客户端请求并进行相应...
【标题】中的“基于c/s架构的JAVA聊天程序”指的是使用客户端/服务器(Client-Server,简称C/S)模式设计的Java聊天应用。C/S架构是一种典型的两层或三层架构,其中客户端负责用户交互,而服务器则处理业务逻辑和...
Java聊天系统(C/S)是一种基于Java技术构建的通信应用程序,主要设计用于实现多用户之间的实时交互。在这个系统中,客户端(Client)与服务器(Server)通过网络进行通信,允许多个客户端同时连接到服务器,实现聊天...
在IT领域,网络通信是不可或缺的一部分,而Java作为一种强大的编程语言,提供了丰富的API来支持网络编程,特别是通过Socket实现客户端/服务器(C/S)架构的即时通信系统。本项目"基于Java实现的socket即时通信系统...
《构建基于C/S结构的Java局域网聊天系统与MySQL数据库整合详解》 在信息技术领域,C/S(Client/Server)架构是一种常见的分布式应用模式,它将应用逻辑分为客户端和服务端两部分。在这个架构中,客户端负责用户交互...
本项目是一个基于Socket架构的C/S(客户端/服务器)模式的Java聊天室,提供了基本的聊天功能。下面将详细解释相关知识点。 1. **Socket通信**: Socket是网络通信的基础,它为应用程序提供了一种在Internet上建立...
在本文中,我们将深入探讨如何使用Java来实现一个C/S(客户端/服务器)架构的聊天系统。这个系统利用了NIO(非阻塞I/O)机制、Socket通信以及多线程IO操作,提供了包括好友管理、聊天交互以及文件传输等功能。这不仅...
在本项目"基于C/S架构的聊天系统的实现"中,我们探讨了如何运用Java语言和相关技术来构建这样一个系统,旨在提供好友管理、实时聊天以及文件传输等功能,这对于学习和提升Java编程技能具有很高的价值。 首先,C/S...
本示例将探讨如何使用Java语言来构建一个基于C/S(客户端/服务器)架构的系统,通过Socket进行通信。 首先,我们要了解C/S架构。C/S(Client/Server)架构是一种常见的网络应用程序模型,其中客户端(Client)发起...
JICQ是用JAVA语言编写的一个基于客户机/服务器(C/S)模式的局域短信实时通信工具系统,系统采用了Microsoft公司的SQL Server 2000作为后台数据库,系统通过JDBC访问数据库。系统分为服务器程序和客户程序两部分,...
在这个项目中,我们将深入探讨如何使用Java语言来实现一个C/S结构的QQ聊天程序,该程序模拟了真实的即时通讯体验。 【描述】:“主要是模仿QQ聊天程序,分为服务器和客户端” 模仿QQ聊天程序意味着我们需要实现...
**基于Wifi C/S模式 Socket通讯详解** 在计算机网络通信中,C/S(Client/Server)模式是一种常见的架构设计,它由客户端(Client)和服务器端(Server)组成。在这种模式下,客户端发起请求,服务器端负责处理请求...
1、本项目则是使用Java实现TCP的Socket网络通信,包含C/S软件架构的程序设计,偏向实践,更加有趣! 2、实现简单有趣的“创意”聊天机器人。 3、建立通信规则: Server和Client之间需要约定相同的规则,保证正常通信...
在这个主题中,我们将深入探讨基于C/S结构的Socket程序设计,包括其原理、步骤以及常见问题。 1. **Socket概念**: Socket,又称套接字,是网络通信中的一种接口,允许两个进程通过网络进行数据交换。在C/S架构中...
Java实现的C/S模式聊天室是一个典型的网络编程项目,它涉及到多线程、Socket通信、IO流处理以及用户界面设计等多个重要知识点。在这个项目中,我们将深入探讨这些关键概念。 首先,C/S(Client/Server)模式是...
在实现流式Socket通信时,我们通常使用Java的Socket类。客户端通过创建Socket对象,指定服务器的IP地址和端口号,然后通过getInputStream和getOutputStream方法获得输入流和输出流对象来实现数据的发送和接收。而...