java Tcp通信客户端与服务器端实例

本文实例讲述了java Tcp通信客户端与服务器端。分享给大家供大家参考,具体如下:

由服务器端发送数据

服务器端:

import java.io.*;
import java.net.*;
public class TestSocket {
 public static void main(String[] args) {
 try {
  ServerSocket ss = new ServerSocket(8888);
  while(true) {
  Socket s = ss.accept();
  OutputStream os = s.getOutputStream();
  DataOutputStream dos = new DataOutputStream(os);
  dos.writeUTF("hello" + s.getInetAddress() + "port" + s.getPort() + "beybye");
  dos.close();
//  os.flush();
  os.close();
//  s.close();
  }
 } catch (IOException e) {
  e.printStackTrace();
  System.out.println("there is a wrong");
 }
 }
}

用户端:

import java.io.*;
import java.net.*;
public class TestClient {
 public static void main(String[] args){
 try {
  Socket s = new Socket("127.0.0.1",8888);
  DataInputStream dis = new DataInputStream(s.getInputStream());
  System.out.println(dis.readUTF());
  s.close();
  dis.close();
 } catch (Exception e) {
  e.printStackTrace();
 }
 }
}

无论是客户端还是服务器端都可以收发数据。

交互型

用户端

import java.io.*;
import java.net.*;
public class TestClient2 {
 public static void main(String[] args){
 try {
  Socket s = new Socket("127.0.0.1",8886);
  DataOutputStream dos = new DataOutputStream(s.getOutputStream());
  DataInputStream dis = new DataInputStream(s.getInputStream());
  System.out.println(dis.readUTF());
  dos.writeUTF("hey");
  String str = null;
  if((str = dis.readUTF()) != null) {
  System.out.println(str);
  }
  s.close();
  dis.close();
  dos.close();
 } catch (Exception e) {
  e.printStackTrace();
 }
 }
}

服务器端:

public class TestServer2 {
 public static void main(String[] args) {
 InputStream in = null;
 OutputStream out = null;
 try {
  ServerSocket ss = new ServerSocket(8886);
  while(true) {
  Socket s = ss.accept();
  in = s.getInputStream();
  out = s.getOutputStream();
  DataOutputStream dos = new DataOutputStream(s.getOutputStream());
  DataInputStream dis = new DataInputStream(s.getInputStream());
  String str = null;
  if((str = dis.readUTF() )!= null) {
   System.out.println(str);
   System.out.println("form " + s.getInetAddress());
   System.out.println("port " + s.getPort());
//   dos.writeUTF("hello" + s.getInetAddress() + "port" + s.getPort() + "beybye");
  }
  dos.writeUTF("hi hello");
  dis.close();
  dos.close();
  s.close();
  }
 } catch (IOException e) {
  e.printStackTrace();
  System.out.println("there is a wrong");
 }
 }
}

更多关于java相关内容感兴趣的读者可查看本站专题:《Java Socket编程技巧总结》、《Java文件与目录操作技巧汇总》、《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》和《Java缓存操作技巧汇总》

希望本文所述对大家java程序设计有所帮助。

(0)

相关推荐

  • Java实现TCP/IP协议的收发数据(服务端)代码实例

    这篇文章主要介绍了Java实现TCP/IP协议的收发数据(服务端)代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 功能如下: 注: 只有服务端,没有客户端,测试时采用第三方软件作为客户端的. 收发数据目前能正常收发数据,只是中文的会变成乱码显示. 采用Thread类实现一个收发数据的线程. 服务端代码: import java.io.IOException; import java.io.InputStream; import java

  • java实现简单TCP聊天程序

    本文实例为大家分享了java实现TCP聊天程序的具体代码,供大家参考,具体内容如下 服务端代码: package com.test.server; import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.IOException; import java.net.ServerSocket; import java.net.Socket; public class Server { public

  • Java使用TCP套接字实现多人聊天功能详解

    本文实例讲述了Java使用TCP套接字实现多人聊天功能.分享给大家供大家参考,具体如下: 废话不多说,直接开搞: 先创建一个服务端: package interWebWriterEven2; import java.net.ServerSocket; import java.net.Socket; import java.util.ArrayList; /** * 服务端 * @author * */ public class ServiceT { static ArrayList<Socket

  • java实现基于Tcp的socket聊天程序

    对于步入编程行业不深的初学者或是已经有所领会的人来说,当学习一项新的技术的时候,非常渴望有一个附上注释完整的Demo.本人深有体会,网上的例子多到是很多,但是很杂不完整,写代码这种东西来不得半点马虎,要是错了一点,那也是运行不了的.这对于初学者来说更加的头疼,因为他根本不知道错在哪里,盲目的改只能错上加错.最后不得不去找找看看有没有能够直接运行的例子再加以模仿. 下面是博主在学习Java的socket时写的一个完整的例子,并且带上了完整的注释.它是一个简单的聊天程序,但是它可以设置任意多用户同时

  • java实现一个简单TCPSocket聊天室功能分享

    本文实例为大家分享了java实现TCPSocket聊天室功能的相关代码,供大家参考,具体内容如下 1.TCPserver.java import java.net.*; import java.io.*; import java.util.*; import java.util.concurrent.*; public class TCPserver{ private static final int SERVERPORT = 8888; private ServerSocket MyServe

  • Java使用TCP实现在线聊天的示例代码

    客户端的代码: package tcp.http; import java.io.*; import java.net.*; import java.util.Scanner; public class Client{ public static void main(String[] args) throws IOException{ Scanner scanner=new Scanner(System.in); //1.创建Socket Socket tcpClientSocket=new S

  • Java基于Tcp的基础聊天功能实例

    本文实例讲述了Java基于Tcp的基础聊天功能.分享给大家供大家参考,具体如下: 最基础的聊天,用户端和服务器端每次说一句,而且严格规定了先后到顺序. 服务器端: import java.io.*; import java.net.*; public class ChatServer { public static void main(String[] args) { ServerSocket server = null; try { server = new ServerSocket(1213

  • Java编程实现基于TCP协议的Socket聊天室示例

    本文实例讲述了Java编程实现基于TCP协议的Socket聊天室.分享给大家供大家参考,具体如下: 这里使用Socket套接字进行编程,完成的是基于TCP可靠服务实现服务器与客户端的双通信. Server服务器端: package com.han; import java.awt.Container; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.Win

  • java基于TCP协议实现聊天程序

    JAVA程序设计之基于TCP协议的socket聊天程序 ,供大家参考,具体内容如下 一.程序实现的功能 1.进入客户端界面 2.创建昵称 3.群发信息 4.@私聊 5.下线通知 6.在线人数统计 二.整体架构图 三.简单介绍 本程序实现了基于TCP通信的聊天程序: 1 服务器端: 服务器端继承JFrame框架,添加组件.创建服务器端的socket,起一个线程池,每接收到一个客户端的连接,分配给其一个线程处理与客户端的通信,将每个客户端的昵称和服务器分配给其的输出流存储到哈希表中.通过检索哈希表中

  • java学习之利用TCP实现的简单聊天示例代码

    TCP TCP协议是面向连接.保证高可靠性(数据无丢失.数据无失序.数据无错误.数据无重复到达)传输层协议. TCP通过三次握手建立连接,通讯完成时要拆除连接,由于TCP是面向连接的所以只能用于端到端的通讯. 本文主要介绍了java利用TCP实现简单聊天的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 示例代码 使用tcp协议实现的简单聊天功能(非常简单的) 思想:使用2个线程,一个线程是用来接收消息的,另一个线程是用来发消息的. 客户端Demo代码: public

  • Java基于Tcp/ip连接的多人交互聊天室

    本文实例为大家分享了Java  Socket编程实现多人交互聊天室的具体代码,供大家参考,具体内容如下 本项目由三个.java文件(Client.java.Server.java.UI.java)和一个.jpg图片文件组成UI.java是负责界面的构成文件.本聊天室的界面极其简单.主要分为两个界面:第一个是启动时需要登陆的界面如下: 输入名字进去以后就可以直接聊天     这个聊天室相当于群聊,每一个登陆进去的人发的信息,其他人都会收到. 使用指南: 1.运行Server.java文件,保证服务

随机推荐