客户端:
package Socket_Test;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.net.Socket;
public class LoginClient {
public static void main(String[] args) throws Exception {
// 建立客户端Socket连接,指定服务器的位置以及端口
Socket socket = new Socket("localhost", 8800);
// 得到Socket读写流
OutputStream os = socket.getOutputStream();
PrintWriter pw = new PrintWriter(os);
// 输入流
InputStream is = socket.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is));
// 利用流按照一定的的协议对Socket进行读/写操作
String info = "用户名:Tom/用户密码:123456";
pw.write(info);
pw.flush(); // 刷新
socket.shutdownOutput();
// 接受服务器的响应并打印显示
String reply = null;
while (!((reply = br.readLine()) == null)) {
System.out.println("我是客户端,服务器的响应为:" + reply);
}
// 关闭资源
br.close();
is.close();
pw.close();
os.close();
socket.close();
}
}
服务器:
package Socket_Test;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
public class LoginServer {
public static void main(String[] args) throws Exception {
// 创建一个ServerSocket对象
ServerSocket serverSocket = new ServerSocket(8800);
// 使用accept()方法阻塞等待监听,获得新的连接
Socket socket = serverSocket.accept();
// 获得输入流
InputStream is = socket.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is));
// 获得输出流
OutputStream os = socket.getOutputStream();
PrintWriter pw = new PrintWriter(os);
// 读取用户输入信息
String info = null;
while (!((info = br.readLine()) == null)) {
System.out.println("我是服务器,用户信息为:" + info);
}
// 给客户端一个响应
String reply = "welcome!";
pw.write(reply);
pw.flush(); // 刷新
// 关闭资源
os.close();
br.close();
is.close();
socket.close();
serverSocket.close();
}
}
分享到:
相关推荐
【Cocos Creator 联机实战教程(1)】——初识Socket.io 是一个针对游戏开发者,特别是使用Cocos Creator的开发者的系列教程。本教程旨在帮助他们掌握如何利用Socket.io实现在Cocos Creator游戏中的实时通信功能,这...
在C#编程中,Socket是用于网络通信的核心组件,它提供了底层的网络接口,允许开发者创建TCP或UDP通信的应用程序。Socket编程主要涉及到网络编程的基本概念,如连接、数据传输和套接字类型。 1. Socket的类型 Socket...
总结来说,初识通信并建立多线程服务器需要理解网络编程的基本概念,掌握`ServerSocket`和`Socket`的使用,以及线程的管理。在实现过程中,合理使用如`StringBuffer`这样的线程安全类,能有效提升程序的性能和稳定性...
5. 网络编程:了解Socket通信和HTTP请求等网络编程基础知识。 6. Windows Forms:通过Windows Forms创建简单的桌面应用程序,学习控件使用和事件处理。 7. ASP.NET Web开发:初步接触Web开发,学习ASP.NET MVC或ASP...
ZMQ专题学习之一:初识ZeroMQ ZeroMQ号称是“史上最快的消息队列”,基于c语言开发的。引用官方说明定义:“ZMQ(以下ZeroMQ简称ZMQ)是一个简单好用的传输层,像框架一样的一个socket library,他使得Socket编程...
这篇笔记涵盖了Python编程的多个重要方面,旨在帮助学习者从初识到深入理解Python的各种技术。 首先,02_python目录下的内容可能包括Python的基础语法,如变量、数据类型(如整型、浮点型、字符串、列表、元组、...
【初识Linux】 Linux是一种免费使用且开源的操作系统内核,它是GNU/Linux操作系统的基础,广泛应用于服务器、桌面环境以及各种嵌入式设备中。Linux以其稳定性、安全性、灵活性和跨平台性著称,是软件开发领域的重要...
第1章 初识 Node.js.ppt 第2章 Javascript基础.ppt 第3章 Node.js基础入门.ppt 第4章 异步编程与包管理.ppt 第5章 http模块.ppt 第6章 Web开发中的模板引擎.ppt 第7章 Node.js中的文件操作.ppt 第8章 认识express...
socket编程中,客户端从服务端下载一个文件,这个文件应该存在哪? 做 一个登陆过程,用户的用户名和密码放在哪? 数据(文件 图片 视频等)的存储以及管理怎样能够操作简单? 因此,我们发现: 第一,将文件和...
AMD处理器的常见插座有Socket 462、Socket 939和Socket 754,Intel处理器则有LGA 775和Socket 478。CPU插槽与处理器的针脚数必须匹配,否则无法安装。CPU插槽中的感温器件用于监控CPU温度,防止过热。 1.1.1.2 内存...
socket通信的拆包和装包源码 个人笔记整理 - Shadow Chapter01 - Netty简单使用 1.初识 Netty 服务端编码 /** * @author shadow * @create 2020-09-28 * @description * * HTTP 服务器 * * 测试:curl ...
初识Go语言 开发环境搭建 第一个程序 基础语法 基础类型 变量常量与值 变量作用域 运算符 作业 Day02 MODULES工程 格式化输出 条件语句 读取标准输入 循环语句 数据类型转换 Go语言指针 作业 Day03 Go语言函数 defer...
模块初识 pyc是什么 python数据类型 bytes数据类型 列表的使用 元组与购物车程序练习 购物车程序练习实例 字符串常用操作 字典的使用 三级菜单实例 本周作业-购物车优化 第3周 作业 上节内容回顾 集合及其运算 ...
Linux提供了socket接口,使得开发者可以创建网络应用程序,实现TCP/IP通信。你将学习如何创建服务器和客户端,处理套接字连接,发送和接收数据。 此外,书中还会介绍一些常见的Linux库,如GLibC(GNU C库)和POSIX...
第二章 初识 FreeSWITCH 第三章 PSTN 与 PBX 服务 第四章 SIP 协议 第五章 FreeSWITCH 架构 第六章 运 行 FreeSWITCH 第七章 SIP 模块 - mod_sofia 第八章 拨 号计划 - Dialplan 模块介绍 嵌入式...
《初识Linux编程》第四版是一本针对Linux系统编程初学者的经典教材,旨在帮助读者深入理解Linux环境下的程序设计和开发。这本书详细介绍了Linux操作系统的基础,以及如何在该平台上进行有效的编程工作。以下是对该书...
书中介绍了TCP/IP协议栈的基本原理,讲解了如何使用socket()函数创建套接字,bind()和listen()用于服务器端绑定和监听,accept()接收连接请求,以及connect()和send()、recv()用于客户端发送和接收数据。此外,还...
6. **网络编程**:介绍套接字编程,包括TCP/IP协议、客户端/服务器模型,如何使用socket API创建网络应用程序。 7. **设备驱动编程**:讲解Linux设备驱动的基本原理,如何与硬件交互,以及字符设备、块设备驱动的...