六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 28|回复: 0

java Socket 通讯的代码例子

[复制链接]

升级  8.33%

63

主题

63

主题

63

主题

举人

Rank: 3Rank: 3

积分
225
 楼主| 发表于 2013-1-28 19:26:07 | 显示全部楼层 |阅读模式
实现Client端功能的ClientApp.Java原文件:
import java.net.*;import java.io.*;import java.lang.*;public class ClientApp{  public static void main(String args[])  {    try    {       //创建通讯并且和主机Rock连接       Socket cSocket=new Socket("192.168.100.188",8018);       //打开这个Socket的输入/输出流       OutputStream os=cSocket.getOutputStream();       DataInputStream is=new DataInputStream(cSocket.getInputStream());       int c;       boolean flag=true;       String responseline;       while(flag)       {           //从标准输入输出接受字符并且写如系统           while((c=System.in.read())!=-1)           {              os.write((byte)c);              if(c=='\n')              {                 os.flush();                 //将程序阻塞,直到回答信息被收到后将他们在标准输出上显示出来                 responseline=is.readLine();                 System.out.println("Message is:"+responseline);              }           }       }       os.close();       is.close();       cSocket.close();    }    catch(Exception e)    {      System.out.println("Exception :"+ e.getMessage());    }  }}
实现Server端功能的ServerApp.java原文件:
import java.net.*;import java.io.*;public class ServerApp{  public static void main(String args[])  {     try     {        boolean flag=true;        Socket clientSocket=null;        String inputLine;        int c;        ServerSocket sSocket=new ServerSocket(8018);        System.out.println("Server listen on:"+sSocket.getLocalPort());        while(flag)        {          clientSocket=sSocket.accept();          DataInputStream is= new DataInputStream(new BufferedInputStream(clientSocket.getInputStream()));          OutputStream os=clientSocket.getOutputStream();          while((inputLine=is.readLine())!=null)          {             //当客户端输入stop的时候服务器程序运行终止!             if(inputLine.equals("stop"))             {                flag=false;                break;             }             else             {                System.out.println(inputLine);                while((c=System.in.read())!=-1)                {                  os.write((byte)c);                  if(c=='\n')                  {                    os.flush();   //将信息发送到客户端                    break;                  }                }             }          }          is.close();          os.close();          clientSocket.close();        }        sSocket.close();     }     catch(Exception e)     {       System.out.println("Exception :"+ e.getMessage());     }  }}
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表