Socket 简单实现服务器和客户端
来源:互联网 发布:html class属性 数据库 编辑:程序博客网 时间:2024/05/14 10:12
首先这只是简单的 socket
直接代码:服务器代码
package SocKet;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import java.io.PrintWriter;import java.net.ServerSocket;import java.net.Socket;import java.nio.charset.Charset;public class Server {private ServerSocket ss;private InputStreamReader inputStreamReader; private BufferedReader bufferedReader;public void server(){try {//<span style="color:#FF6666;">让服务器端程序开始监听来自9000端口的客户端请求</span><span style="color:#3333FF;">端口号是我随便写的 ,没被占用即可。我也不太清楚怎么检测端口号,会的希望留言</span>。if (ss==null) { ss = new ServerSocket(9000); System.out.println("服务器启动...");}//服务器无穷的循环等待客户端的请求while(true){/* *accept()方法会在等待用户的socket连接时闲置着,当用户链接 *上来时,此方法会返回一个socket(在不同的端口上)以便与客户端 *通信。Socket与ServerSocket的端口不同,因此ServerSocket可以 *空闲出来等待其他客户端 *///这个方法会停下来等待要求到达之后再继续Socket s = ss.accept();inputStreamReader = new InputStreamReader(s.getInputStream());bufferedReader = new BufferedReader(inputStreamReader);String request = bufferedReader.readLine(); System.out.println("接收到了客户端的请求:"+request);//PrintWriter printWriter = new PrintWriter(s.getOutputStream()); //<span style="color:#3333FF;">同样解决乱码问题</span> <span style="color:#FF0000;"> PrintWriter output = new PrintWriter(new OutputStreamWriter(s.getOutputStream(),"UTF-8"),true);</span>String advice = "在哪呢?";output.println(advice);output.close();}} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}public static void main(String[] args) {Server server = new Server();server.server();}}客户端代码:
package SocKet;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.PrintWriter;import java.net.Socket;import java.net.UnknownHostException;import java.nio.charset.Charset;public class Scoket { public void go() throws UnknownHostException, IOException { //获得地址/端口 Socket socket=new Socket("127.0.0.1", 9000); //客户端获得的数据发送到服务器 PrintWriter printwrite=new PrintWriter(socket.getOutputStream()); System.out.println("正在建立连接...."); //printwrite.println("sdfsdf"); printwrite.println("我的家乡"); printwrite.flush(); //客户端接收数据时设置编码方式:<span style="color:#33CC00;">可以解决乱码问题</span><span style="color:#FF0000;"> InputStreamReader isr=new InputStreamReader(socket.getInputStream(),"UTF-8");</span> // BufferedReader input = new BufferedReader(new InputStreamReader(socket.getInputStream(),"UTF-8")); BufferedReader bf=new BufferedReader(isr); String news=bf.readLine(); System.out.println("服务器的得到的数据是:--"+news); bf.close(); } public static void main(String[]args) throws UnknownHostException,IOException { Scoket s=new Scoket(); s.go(); }}是用步骤:我是在自己的 本机上测试的;工具就是eclipse
首先创建两个类 :server.java 和 Scoket.java代码如上
先运行 Server类 运行服务器 控制台显示如下:
接着 运行 Scoket.java 注意什么也不要做 直接切换到Scoket.java类中运行
服务器显示如下:
客户端控制台显示如下:
在控制台上可以切换显示不同类的控制,也就是eclipse 同时在运行着两个类
切换如下:
点击控制台这个按钮即可。
0 0
- 简单Socket实现客户端和服务器连接
- Socket 简单实现服务器和客户端
- socket实现简单的echo应答服务器和客户端
- 什么是socket?什么是socket的长、短连接?java如何简单实现socket客户端和服务器?
- TCP SOCKET服务器|客户端简单实现
- 简单实现python socket 服务器客户端
- python简单的socket 服务器和客户端
- 简单的python socket服务器和客户端
- [Unity]简单的socket客户端和服务器
- 简单socket服务器客户端
- 简易socket客户端和多线程服务器实现
- 网络编程:使用Socket实现简单的服务器和客户端的通信
- socket 服务器和客户端
- python socket实现简单的(TCP/UDP)服务器/客户端
- Socket通信简单实现客户端-服务器消息发送
- socket编程(一),实现服务器与客户端简单通信
- 简单socket编程,服务器、客户端
- Java实现服务器和客户端简单通信
- Excel使用
- null character(s) ignored的解决方法
- 数据库实用脚本1---查询数据库中有数据的表名和表中数据的行数
- 堆排序
- 单词数 2072
- Socket 简单实现服务器和客户端
- 他们为啥不爱谷歌眼镜了?
- MySQL索引背后的数据结构及算法原理
- 第三方支付为什么会兴起?
- nodejs中Assert是Assert.ok的别名
- 7.2.2 在窗体上显示绘图
- java中的多线程
- AVL树的插入删除查找算法实现和分析-2(树高度法)
- 第十三周 项目三 成绩处理模板