Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 768|回复: 0

TCP网络编程 聊天程序面向连接(安全) Socket ServerSocket 相关

[复制链接]

该用户从未签到

发表于 2011-10-9 19:13:39 | 显示全部楼层 |阅读模式
package com.renxing.r0040_DemoSocket;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.Socket;
import java.net.UnknownHostException;

//tcp客户端
//完成
/**
* 这样的一个过程
* 客户端发送一个数据
* 服务端转为大写发送给客户端
*
*/
public class SocketDemo
{
public static void main(String[] args) throws UnknownHostException, IOException
{
  //建立个客户端
  Socket  s=new Socket("222.128.173.78",10000);
  //读取客户的输入的
  BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
  String line=null;
  //通过Socket 流来写入相关的内容
  BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));

  
  //因为客户端要接受服务器 回应的  数据  我们必须也要处理
  BufferedReader brin=new BufferedReader(new InputStreamReader(s.getInputStream()));
  
  //不断的读取相关的字节
  while((line=br.readLine())!=null)
  {
   if(line.equals("over"))
   {
    break;
   }
  //这是向服务端发出相关内容
   
   bw.write(line);
   //为什么 要 newLine 发送服务端一个标记
   bw.newLine();
   //为什么要flush  刷新缓冲区 不刷 就出不去!底层认为你没有输入完毕    服务端不停的等待中... 造成死锁样子!
   bw.flush();
  //服务器发回的信息 来读取
   String context=brin.readLine();
   System.out.println(context);
      
  }
  
  s.close();
  br.close();
  brin.close();
}

}
























package com.renxing.r0040_DemoSocket;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.ServerSocket;
import java.net.Socket;

//制作服务端
public class ServerSocketDemo
{
public static void main(String[] args) throws IOException
{
  //建立服务器端的网络服务器  监视服务器 10000端口
  ServerSocket ss=new ServerSocket(10000);
  Socket  s=ss.accept();
  //获取相关的ip地址
  String ip=s.getInetAddress().getHostAddress();
  //拿到客户端的发送对象
  BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
  //拿到客户端的读取对象
  BufferedReader br=new BufferedReader(new InputStreamReader(s.getInputStream()));
  String  line=null;
  while((line=br.readLine())!=null)
  {
   
   //相关的服务器进行 操作  将获得来的数字 进行大写形式发给 客户端
   bw.write("服务器回应:"+ip+"::"+line.toUpperCase());
   //同样 服务器端也做了一个标记 我完毕
   bw.newLine();
   //刷新缓冲区
   bw.flush();
   
  }
  //相关关闭
  
  ss.close();
  
}

}

  
ServerSocket  And  Socket      Tcp 协议

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

GMT+8, 2024-5-6 06:42 , Processed in 0.458653 second(s), 49 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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