java写自己的tcp协议_Java实现 利用TCP协议实现网络之间的通信

TCP通信编程-Java实现

客户端编程步骤:

建立网络连接

交换数据

关闭网络连接

服务器端编程步骤:

监听端口

获得连接

交换数据

关闭连接

主要理解一下以下几个类:

InetAddress类        该类的功能是代表一个IP地址,并且将IP地址和域名相关的操作方法包含在该类的内部。

ServerSocket类      用来给服务器端建立套接字,它的主要功能是等待来自网络上的“请求”,它可通过指定的端口来等大力连接的套接字。

Scoket类          客户机创建了Socket对象以后,会向指定的IP地址以及端口尝试连接。服务器会创建新的套接字与客户端套接字建立连接。

下面是C/S模式下的客户端与服务器端之间的通信源代码

import java.io.DataInputStream;

import java.io.DataOutputStream;

import java.io.IOException;

import java.io.InputStream;

import java.io.OutputStream;

import java.net.InetAddress;

import java.net.ServerSocket;

import java.net.Socket;

public class ScoketServer {

/**

* @param args

* @throws IOException

*/

public static void main(String[] args) throws IOException {

// TODO Auto-generated method stub

ServerSocket serverSocket=null;

Socket clientSocket=null;

DataInputStream in=null;

DataOutputStream out=null;

System.out.println("等待连接中。。。。");

serverSocket=new ServerSocket(4332);

clientSocket=serverSocket.accept();

in=new DataInputStream(clientSocket.getInputStream());

out=new DataOutputStream(clientSocket.getOutputStream());

InetAddress clientIP=clientSocket.getInetAddress();

System.out.println(clientIP);

System.out.println(clientSocket.getPort());

out.writeUTF("Welcome........");

String line=in.readLine();

while(line!="quit"){

System.out.println(line);

in.readLine();

}

}

}

import java.io.DataInputStream;

import java.io.DataOutputStream;

import java.io.IOException;

import java.net.Socket;

import java.net.UnknownHostException;

public class ClientSocket {

/**

* @param args

* @throws IOException

* @throws UnknownHostException

*/

public static void main(String[] args

) throws UnknownHostException, IOException {

// TODO Auto-generated method stub

Socket clientSocket;

DataInputStream in=null;

DataOutputStream out=null;

clientSocket=new Socket("127.0.0.1",4332);

in=new DataInputStream(clientSocket.getInputStream());

out=new DataOutputStream(clientSocket.getOutputStream());

out.writeUTF("我是客户机。。。。。。");

String str=null;

while(true){

str=in.readLine();

System.out.println(str);

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值