|
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
|