Java如何实现TCP/IP协议的收发数据服务端

  介绍

小编给大家分享一下Java如何实现TCP/IP协议的收发数据服务端,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获、下面让我们一起去了解一下吧!

功能如下:

癑ava如何实现TCP/IP协议的收发数据服务端"

注:

只有服务端,没有客户端,测试时采用第三方软件作为客户端的。

收发数据目前能正常收发数据,只是中文的会变成乱码显示。

采用线程类实现一个收发数据的线程。

服务端代码:

import  java.io.IOException;   import  java.io.InputStream;   import  java.io.OutputStream;   import  java.net.ServerSocket;   import  java.net.Socket;      public  class  Server  {//监才能听端口   private 才能static  final  int  PORT =, 60020;      public 才能;static  void  main (String [], args), throws  IOException  {   ,,,ServerSocket  ServerSocket =,空;   ,,,Socket  Socket =,空;   ,,,try  {   ,,,,,//建立服务器的插座,并设定一个监听的端口港   ,,,,,serverSocket =, new  ServerSocket(港口);   ,,,,,//由于需要进行循环监听,因此获取消息的操作应放在一个虽然大循环中   ,,,,,,(真正的){   ,,,,,,,,try  {   ,,,,,,,,,//建立跟客户端的连接   ,,,,,,,,,socket =, serverSocket.accept ();   ,,,,,,,,},catch  (Exception  e), {   ,,,,,,,,,,System.out.println(“建立与客户端的连接出现异常“);   ,,,,,,,,,,e.printStackTrace ();   ,,,,,,,,}   ,,,,,,,,ServerThread  thread =, new  ServerThread(插座);   ,,,,,,,,thread.start ();   ,,,,,}   ,,,},catch  (Exception  e), {   ,,,,,System.out.println(“端口被占用“);   ,,,,,e.printStackTrace ();   ,,,},,,,   ,,,finally  {   ,,,,,serverSocket.close ();   ,,,}   ,,}   }//服务端线程类//继承线程类的话,必须重写运行方法,在运行方法中定义需要执行的任务。   class  ServerThread  extends  Thread  {   private 才能;Socket  Socket ;   InputStream 才能inputStream;   OutputStream 才能;outputStream;   ,,   public 才能;ServerThread (Socket 插座){   ,,,this.socket=套接字;   ,,}   public 才能;void 运行(){   ,,,try  {   ,,,,,while (真正的){   ,,,,,,,//接收客户端的消息并打印   ,,,,,,,System.out.println(插座);   ,,,,,,,inputStream=socket.getInputStream ();   ,,,,,,,byte [], bytes =, new 字节[1024];   ,,,,,,,read(字节);   ,,,,,,,String  String =, new 字符串(字节);   ,,,,,,,System.out.println(字符串),,,   ,,,,,,,   ,,,,,,,//向客户端发送消息   ,,,,,,,outputStream =, socket.getOutputStream ();   ,,,,,,,outputStream.write (“OK" .getBytes ());   ,,,,,,,System.out.println (“OK");   ,,,,,,,   ,,,,,}   ,,,},catch  (Exception  e), {   ,,,,,System.out.println(“客户端主动断开连接了“);   ,,,,,//e.printStackTrace ();   ,,,}   ,,,//操作结束,关闭插座   ,,,试着{   ,,,,,socket.close (),,   ,,,}捕捉(IOException  e) {   ,,,,,System.out.println(“关闭连接出现异常“),,,   ,,,,,e.printStackTrace ();   ,,,}   ,,}   null

Java如何实现TCP/IP协议的收发数据服务端