在明白tcp的程序工作的过程以后,就可以编写停车票的服务器程序了。在网络编程中如果对于只要求客户机向服务器发送消息,不要求服务器向客户机发送消息,那么称之为单向通信。
客户机套接字和服务器套接字连接成功之后,客户机通过输出流发送数据,服务器则通过输入流接受数据
那么下面用两个代码将这个示例体现出来
首先第一个示例是一个TCP的服务器端程序,在getsever方法中建立服务器套接字,调用getClientMessage方法进行获取客户端的信息
package TCP;
import java.io.*;
import java.net.*;
public class MyTCP {
private BufferedReader reader;
//创建BufferedReader对象
private ServerSocket server;
//创建ServerSocket对象
private Socket socket;
//创建Socket对象
void getserver()
{
try {
server=new ServerSocket(8898);//实例化socket对象
System.out.println("服务器创建已成功");
while(true)//如果套接字是连接状态
{
System.out.println("等待客户机的连接");
socket=server.accept();//实例化socket对象
reader=new BufferedReader(new InputStreamReader(socket.getInputStream()));
//这里是进行实例化BufferedReader这个对象
getClientMessage();
}
}catch(Exception e) {
e.printStackTrace();
}
}
private void getClientMessage() {
try {
while(true) {//如果套接字是连接状态
//获得客户端信息
System.out.println("客户机"+reader.readLine());
}
}
catch(Exception e) {
e.printStackTrace();
}
try {
if(reader!=null)
{
reader.close();//关闭流
}
if(socket!=null) {
socket.close();//关闭套接字
}
}catch(IOException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
MyTCP tcp=new MyTCP();
tcp.getserver();
}
}
服务器创建已成功
等待客户机的连接
这里应该是服务器套接字已经创建成功