server.zip

  • 哈哈哈32268
    了解作者
  • Java
    开发工具
  • 4KB
    文件大小
  • zip
    文件格式
  • 0
    收藏次数
  • 1 积分
    下载积分
  • 0
    下载次数
  • 2020-06-29 21:24
    上传日期
关于JAVA网络编程Server和Client端的实现,通过UDP和TCP传递消息
server.zip
  • UDPSearcher.java
    1.3KB
  • MessageUtil.java
    767B
  • TCPClient.java
    2KB
  • TCPServer.java
    3.5KB
  • UDPProvider.java
    2.1KB
内容介绍
package exp4; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.Inet4Address; import java.net.InetSocketAddress; import java.net.ServerSocket; import java.net.Socket; public class TCPServer { private static final int PORT = 9090; public static void main(String[] args) throws IOException { ServerSocket server = createServerSocket();//创建非绑定服务器套接字 //配置一些参数 initServerSocket(server); //绑定到本地端口上 server.bind(new InetSocketAddress(Inet4Address.getLocalHost(), PORT), 50); System.out.print("服务器已监听端口:"); System.out.println(server.getInetAddress() + ":" + server.getLocalPort());//返回此服务器套接字的本地地址,返回此套接字在其上侦听的端口 //等待客户端连接 for (; ; ) { System.out.println("阻塞等待客户端连接中..."); Socket client = server.accept();//侦听并接受到此套接字的连接 //在连接后,启动一个线程接管与客户端的交互操作 ClientHandler clientHandler = new ClientHandler(client); clientHandler.start(); } } private static ServerSocket createServerSocket() throws IOException { //创建基础的ServerSocket ServerSocket serverSocket = new ServerSocket(); return serverSocket; } private static void initServerSocket(ServerSocket serverSocket) throws IOException { //复用端口 serverSocket.setReuseAddress(true); serverSocket.setReceiveBufferSize(64 * 1024 * 1024); } //处理与客户端交互 private static class ClientHandler extends Thread { private Socket socket; ClientHandler(Socket socket) { this.socket = socket; } @Override public void run() { super.run(); System.out.println("新客户端连接:" + socket.getInetAddress() +":" + socket.getPort()); try { //得到socket的输入输出流 InputStream inputStream = socket.getInputStream(); OutputStream outputStream = socket.getOutputStream(); byte[] bytes = new byte[1024]; int len = inputStream.read(bytes); StringBuilder sb = new StringBuilder(); sb.append(new String(bytes, 0, len)); String c = sb.toString(); //消息回写 outputStream.write(c.toUpperCase().getBytes()); String[] d = c.split(" "); for(int i=0;i<d.length;i++) { System.out.println("收到客户端消息:" + d[i]); } outputStream.close(); inputStream.close(); } catch (Exception e) { System.out.println("连接异常断开"); } finally { try { socket.close(); } catch (IOException e) { e.printStackTrace(); } } System.out.println("客户端已退出:"+socket.getInetAddress() + ":" + socket.getPort()); } } }
评论
    相关推荐
    • tcpServer.zip
      tcpServer基于Qt5开发的tcp服务器
    • TCPServer.rar
      用powerbuilder9实现socket通讯,有完整实例!
    • TcpServer.rar
      qt 实现服务器端通讯,可以实现,已经测试过
    • TCP server程序
      TCP服务端小程序,供其学习掌握TCP socket连接,可以与客户端代码一起调试!
    • TCPServer java
      TCPServer java 服务器 源码 工程文件
    • Socket TCPSERVER
      C# Socket TCPSERVER 用异步(非阻塞)方式实现TCPSERVER
    • TCP server
      TCP的多线程服务器程序,具有上传,下载,暂停,继续,退出功能。
    • WinCE TCPServer
      WinCE TCPServer Visual Studio 專案裡,然後編譯、執行,就可馬上有一個運行中的 TCP server 了。
    • c tcpserver
      c语言写的tcpserver接受端及接受包处理
    • c# tcpServer
      利用C#编写的套接字服务端,可以根据实际情况设置自动回复,和手动回复。自动回复内容为受到的内容!