java---TCP通信 总结
来源:互联网 发布:蓝天准系统知乎 编辑:程序博客网 时间:2024/05/20 06:40
TCP --Socket通信 模式比较固定 --而且代码的模式也比较固定。。。。
代码编写的原则 ---服务器程序和客户端程序要同时编写,便于调试,,在调试的时候要首先运行主机程序,再运行客户端程序
服务器的操作: 读取键盘输入的字符,并打印,抓取客户端传输的字符并打印 如果客户端传输的为bye 则退出
客户端的操作:读取键盘输入的字符,并打印,打印输出服务器传输的字符,如果输入字符为bye则退出
服务器端的代码为
iimport java.io.*;//////包含stream类型 用来传输字符
import java.net.*;/////包含 客户端 套接字等类
public class TalkServer{
public static void main(String[] args){
try{
ServerSocket ss = null;
try{
ss = new ServerSocket(4700);
}catch(Exception e){
System.out.println("服务套接字创建错误"+e);
}
Socket socket = null;
try{
socket = ss.accept();//阻塞输入
}catch(Exception e){
System.out.println("套接字接受错误"+e);
}
String LineIn = null;
BufferedReader bfclient = new BufferedReader(new InputStreamReader(socket.getInputStream()));
System.out.println("Accept from the Client"+bfclient.readLine());
BufferedReader rkeyboard = new BufferedReader(new InputStreamReader(System.in));//阻塞输入
/*BufferedReader 类中有一方法为readLine(),可以读取一行,详细请看API*/
PrintWriter pw = new PrintWriter(socket.getOutputStream());
/*PrintWriter 中有一方法为 println 打印输出*/
LineIn = rkeyboard.readLine();
while(!LineIn.equals("bye")){
pw.println(LineIn);//向客户端传输输入的字符
pw.flush();
System.out.println("Server:"+LineIn);//打印输入字符
System.out.println("client:"+bfclient.readLine());//打印客户端传输的字符
LineIn = rkeyboard.readLine();///输入时 阻塞 即 当没有输入时 始终等待输入
}
ss.close();
socket.close();
bfclient.close();
rkeyboard.close();
pw.close();
}catch(Exception e)
{
System.out.println("error"+e);
}
}
}
客户端 程序代码为
import java.io.*;
import java.net.*;
public class TalkClient{
public static void main(String[] args){
try{
Socket s = null;
try{
s = new Socket("192.168.142.98",4700);
}catch(Exception e){
System.out.println("创建错误"+e);
}
String rdkeyboard = null;
PrintWriter pw = new PrintWriter(s.getOutputStream());
BufferedReader bfServer = new BufferedReader(new InputStreamReader(s.getInputStream()));
BufferedReader bfkeyboard = new BufferedReader(new InputStreamReader(System.in));
System.out.println("从键盘读取的字符"+bfkeyboard.readLine());
rdkeyboard = bfkeyboard.readLine();
while(!rdkeyboard.equals("bye"))
{
pw.println(rdkeyboard);
pw.flush();
System.out.println("client"+rdkeyboard);
System.out.println("Server"+bfServer.readLine());
rdkeyboard =bfkeyboard.readLine();
}
s.close();
bfServer.close();
bfkeyboard.close();
pw.close();
}catch(Exception e){
System.out.println("erroe"+e);
}
}
}
- java---TCP通信 总结
- Java tcp socket 通信
- JAVA TCP通信
- Java TCP通信
- java TCP通信基础知识
- Java作业-TCP通信
- java socket通信 TCP UDP
- JAVA网络编程:TCP通信
- Java socket 实现tcp通信
- JAVA网络编程-----TCP通信
- Java socket 实现tcp通信
- [Java] Tcp/udp 简单通信
- TCP通信(java实现)
- Java Socket通信(TCP/UDP)
- java通信之Scoket-TCP
- [Java] Tcp/udp 简单通信
- java TCP与UDP通信
- Java 网络通信【01】TCP
- 查看对方IP地址的5种方法
- Perl 处理时间的小技巧 strftime
- handler
- 剖析MFC多线程程序的同步机制
- 判断机器大小端问题
- java---TCP通信 总结
- C++ const 小结
- 怎样设置Windows 7远程桌面连接(含xp)
- Baseline Requirements for the Issuance and Management of Publicly-Trusted Certificates, v.1.1
- MySQL的mysqldump工具的基本用法
- delphi 多线程编程 总结(转自万一老师)
- 【Golang】【 Network programming with Go】 Templates(模版)
- Hadoop 集群运行测试代码(Hadoop 权威指南天气数据示例)
- 【转】GHOST操作图文教程