Socket通信简单实现客户端-服务器消息发送
2017-03-03 13:25
831 查看
在这里我主要涉及到的是TCP通信,TCP是面向连接的可靠的传输协议。数据传输的单位是报文段。 用户数据报协议(UDP协议)提供无连接的尽最大努力的不可靠的数据传输服务。他们主要属于运 用层协议如FTP、SMTP等)-运输层(TCP或UDP)-网络层-数据链路层-物理层。 在TCP协议中,每一条TCP连接只能有两个端点,全双工通信并且是面向字节流的。 简单的Java实现代码如下: 服务端: 1.在服务端建立ServerSocket并绑定相应的和端口 2.使用accept()方法等待连接 3.利用输入流获取输入的内容 4.关闭连接
package ServerSocket; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.net.ServerSocket; import java.net.Socket; /* * 当一台计算机需要与另一台计算机通信时,需要知道另一台计算机的地址,那就是IP,或者说是域名 * 一旦建立连接,客户端和服务器就可以通过套接字进行通信 */ public class Server { public static void main(String[] args) { ServerSocket serverSocket; Socket socket=null; try { serverSocket = new ServerSocket(8000); System.out.println("服务器已经启动!"); socket = serverSocket.accept();//等待客户端连接 System.out.println("创建客户连接..."); InputStream input = socket.getInputStream();//获取输入流 InputStreamReader isr = new InputStreamReader(input);//字节流和字符流通信的桥梁,相当于将字节流转化为字符流 BufferedReader reader = new BufferedReader(isr); while(true){ String str = reader.readLine();//整行读取内容 if(str.equals("exit")){ break;//退出 } System.out.println("接收内容:"+str); } System.out.println("连接断开"); reader.close(); isr.close(); input.close(); socket.close(); serverSocket.close(); } catch (IOException e) { e.printStackTrace(); } } }
客户端:
1.使用套接字连接,当客户端创建连接Socket并且向服务端发送请求。
2.连接成功后发送输入内容
package ServerSocket; import java.io.IOException; import java.io.OutputStream; import java.net.Socket; import java.net.UnknownHostException; import java.util.Scanner; //实现客户端代码 public class Client { @SuppressWarnings("resource") public static void main(String[] args) { try { Socket socket = new Socket("127.0.0.1", 8000); OutputStream os = socket.getOutputStream(); Scanner input = new Scanner(System.in); while (true) { System.out.print("请输入内容:"); String str = input.nextLine(); os.write((str+"\n").getBytes());//通过转 os.flush(); } } catch (UnknownHostException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }
相关文章推荐
- Android简单实现Socket通信,客户端连接服务器后,服务器向客户端发送文字数据
- AsyncSocket(简单的实现与服务器的发送消息,接收消息)
- Java 利用套接字Socket实现简单的服务器与客户端通信
- 简单socket服务(三)实现多客户端向服务器发送数据并保证服务器接收到数据
- Linux下通过socket通信实现客户端向服务器发送文件
- C#使用Socket实现服务器与多个客户端通信(简单的聊天系统)
- ServerSocket和Socket建立通信(客户端发送消息服务器接收并返回到客户端接收输出)
- ServerSocket和Socket建立通信(客户端发送消息服务器接收输出)
- android的Socket编程---实现简单的服务器,并与客户端通信
- 简单socket服务(二)实现多客户端向服务器发送数据
- 网络编程:使用Socket实现简单的服务器和客户端的通信
- socket编程(一),实现服务器与客户端简单通信
- Android中socket编程实现简单的客户端和服务器之间的通信
- Java 利用套接字Socket实现简单的服务器与客户端通信
- ServerSocket和Socket建立通信(客户端发送消息服务器接收并返回到客户端接收输出)
- Android客户端与PC服务器实现Socket通信(wifi)
- C++ 简单的 Tcp 实现[socket] 客户端与客户端通信
- Android客户端与PC服务器实现Socket通信(wifi)
- Java Socket发送与接收HTTP消息简单实现
- Android客户端与PC服务器实现Socket通信(wifi)