Socket-TCP-1
来源:互联网 发布:淘宝欢乐豆怎么刷的 编辑:程序博客网 时间:2024/05/22 14:56
实现服务器端一次性接收客户端请求,首先在本机上启动服务器端,等待客户端连接,然后客户端启动,发送用户名和密码,服务器端收到后输出来,服务结束。
首先是服务器端的代码:
package love.jimo;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.net.ServerSocket;import java.net.Socket;public class Server {public static void main(String[] args) {/* * 服务端 */try {//建立服务器端socket,并监听此端口9000ServerSocket ssket = new ServerSocket(9000);System.out.println("---服务器端启动---");//调用accept方法监听,等待客户端连接Socket sket = ssket.accept();//获得输入流,并读取客户端信息InputStream is = sket.getInputStream();//将字节流转换为字符流InputStreamReader isr = new InputStreamReader(is);//缓冲BufferedReader br = new BufferedReader(isr);String data = null;//循环读取while(null != (data = br.readLine())){System.out.println("在服务器端收到客户端的信息是:"+data);}//关闭socket输入流sket.shutdownInput();//关闭其它资源is.close();isr.close();br.close();sket.close();ssket.close();} catch (IOException e) {e.printStackTrace();}}}然后是客户端的代码:
package love.jimo;import java.io.IOException;import java.io.OutputStream;import java.io.PrintWriter;import java.net.Socket;import java.net.UnknownHostException;public class Client {public static void main(String[] args) {/* * 客户端 */try {//创建客户端socket,指定服务器地址和端口,localhost代表本机地址Socket sket = new Socket("localhost",9000);//获取输出流,向服务器发送信息OutputStream os = sket.getOutputStream();//将字节输出流包装为打印输出流PrintWriter pw = new PrintWriter(os);pw.write("username:jimo;password:111");//清空缓存,将消息发送pw.flush();//关闭socket输出流sket.shutdownOutput();//关闭资源os.close();pw.close();sket.close();} catch (UnknownHostException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}}}这次测试已本机作为服务器端和客户端
测试时首先启动服务器端(即运行代码):
同时Eclipse的窗口会出现运行态:
然后运行客户端代码,这时服务器端的输出接收到了客户端的请求,而客户端没有输出:
这时运行结束:
0 0
- TCP/Socket学习1
- Socket-TCP-1
- java TCP socket编程1
- TCP socket
- socket tcp
- socket TCP
- TCP Socket
- socket TCP
- TCP Socket
- TCP-socket
- TCP socket
- tcp socket
- TCP SOCKET
- socket/tcp
- tcp socket
- TCP Socket
- TCP socket
- socket(TCP)
- Android如何重新签名APK
- shell杂记
- ANR异常的产生和解决方案
- js压缩图片(ajax上传)
- 详解HTTP中的摘要认证机制
- Socket-TCP-1
- Android硬件抽象层(HAL)概要介绍和学习计划
- 帝国cms在任意位置调用指定id的栏目名称和链接
- Java JNI 简单介绍 HelloWorld
- Java 单例模式 SingletTon
- WPF 获得DataGridRow和 DataGridCell的方法
- I2C 协议
- Python - MySQLdb
- eclipse导入html、js、xml报错的问题