java 通过 socket 实现 服务器和客户端的通信 TCP

 // JBulder 9.0下执行

package me;
import java.net.* ;   //网络编程有关的类在此包
import java.io.* ;  //用到 输入输出流
public class JavaNet
{
  public static void main(String []args)
  {

     if(args.length>0)
       runServer() ;
       else
         runClient() ;

 

  }

  static public  void runServer()   //服务端
  {
    try
   {
     ServerSocket s1 = new ServerSocket(6666);
     while(true)
   {
     Socket ss=s1.accept() ;   //等待连接的到来
    InputStream in= ss.getInputStream() ;  //获得输入流
    OutputStream out=ss.getOutputStream() ;  //获得输出流
    out.write("hellow welcome".getBytes()) ;  //向输出流写入数据
    byte ch[] =new byte[100];
    int num=in.read(ch) ;
    System.out.println(new String(ch,0,num));
    in.close();
    out.close();
    ss.close();
   }

   }catch(Exception e)
   {
     e.printStackTrace();
   }
  }
 static  public void runClient()   //客户端
  {
       try{
         Socket ss=new Socket(InetAddress.getByName("127.0.0.1"),6666) ;   //getByname null返回本地IP   "LocalHost" 返回本地  IP也返回本地
         OutputStream out=ss.getOutputStream() ;  //获得输出流   向服务器写入数据
         out.write("I am  zhangsan ".getBytes());

       }
       catch (Exception e)
       {
         e.printStackTrace();
       }

 

 

  }

 

 

 

}

时间: 2024-11-08 21:27:55

java 通过 socket 实现 服务器和客户端的通信 TCP的相关文章

C/S架构,SOCKET连接,服务器和客户端之间通信为什么会丢包?

问题描述 C/S架构,SOCKET连接,服务器和客户端之间通信为什么会丢包? C/S架构,SOCKET连接,服务器和客户端之间通信为什么会丢包 解决方案 iOS用GcdAsyncsocket通信一个8000多字节的包只能收到一千多字节,这是什么原因

java实现socket从服务器连续获取消息的示例_java

服务器端我们用软件模拟,是一个很小巧的软件,下载软件NetAssist:http://xiazai.jb51.net/201403/tools/NetAssist(jb51.net).rar 第二步贴上我们客户端的代码: 复制代码 代码如下: import java.io.DataInputStream; import java.io.IOException;import java.net.Socket; public class Client {      public static fina

socket系列之socket服务端与客户端如何通信

上面已经分别介绍了ServerSocket跟Socket的工作步骤,并且从应用层往系统底层剖析其运作原理,我们清楚了他们各自的一块,现在我们将把他们结合起来,看看他们是如何通信的,并详细讨论一下他们之间相互通信的一些细节.借助图2-3-2-4,想象一下你正在大学课室上着电脑,你跟你另外两个朋友觉得老师讲得课很菜,没必要听,于是你们仨都各自打开浏览器冲浪,刚好你们访问了同一台服务器,假如你用的是浏览器A,那么整个流程为:① 浏览器确认目标IP跟目标端口号(http默认使用80端口),当然如果你在浏

求java开发的FTP服务器与客户端源码,必有重谢!

问题描述 要求界面和谐,有权限控制,各位大大手头上有的请帮个忙吧!

C#利用服务器实现客户端之间通信_实用技巧

先来讲述下我自己对于整个Socket通信过程的理解,毕竟初学,说错见谅,知道错了会改正~  首先在服务端新建一个serverSocket,对其进行初始化(一般包含AddressFamily:IP地址类型,SocketType:Socket传输数据方式,ProtoType:传输协议);  接着我们要设置server端要绑定的IP:port;然后开始监听,并设置最多同时监听多少个Client. 这时,服务端就在等待状态,直到某一个Client连接到这个ip:port上,这时serverSocket.

通信-android 客户端socket连接服务器,socket何时close

问题描述 android 客户端socket连接服务器,socket何时close 假设socket连接好了,现在客户端向服务器发送完了数据,这个时候需要关闭socket吗?如果关闭后,某个时候又需要发送其他数据,再建立连接? 还是说建立通信协议,一次socket连接后一直保持通信状态,根据通信协议对不同的数据进行不同的处理,然后等客户端程序退出时再关闭socket. 解决方案 Android客户端通过Socket连接服务器Android客户端与java服务器端的Socket连接Socket服务

java多线程实现服务器端与多客户端之间的通信_java

用java语言构建一个网络服务器,实现客户端和服务器之间通信,实现客户端拥有独立线程,互不干扰. 应用多线程来实现服务器与多线程之间的通信的基本步骤 服务器端创建ServerSocket,循环调用accept()等待客户端链接 客户端创建一个Socket并请求和服务器端链接 服务器端接受客户端请求,创建socekt与该客户端建立专线链接 建立链接的socket在一个单独的线程上对话 服务器继续等待新的链接 服务器端Server.java package test.concurrent.socke

数据接收-java的socket编程问题:为什么客户端接收服务器的数据时会有空白数据项?

问题描述 java的socket编程问题:为什么客户端接收服务器的数据时会有空白数据项? 例如:03-17 07:02:00.330 1984-2007/? I/info﹕ client buff --> 0/20160316//早餐/123.0 03-17 07:02:00.340 1984-2007/? I/info﹕ insert expend_table 03-17 07:02:00.340 1984-2007/? I/info﹕ client buff --> 03-17 07:02

Android编程之客户端通过socket与服务器通信的方法

  Android编程之客户端通过socket与服务器通信的方法        本文实例讲述了Android编程之客户端通过socket与服务器通信的方法.分享给大家供大家参考,具体如下: 下面是一个demo,Android客户端通过socket与服务器通信. 由于Android里面可以完全使用java.io.*包和java.net.*包,那么,实际上,逻辑部分与J2SE没有区别.只是UI代码不一样. Android客户端通过socket与服务器通信分为下面5步: (1)通过IP地址和端口实例化