A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 赵凯 中级黑马   /  2013-9-16 20:03  /  1334 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

请问一下,黑马的基础测试关于tcp的服务器端和客户端写在一个java文件还是写在两个java文件里啊?????

3 个回复

倒序浏览
2个,一个服务端,要一直监听着,等待客户端的连接;一个客户端。
回复 使用道具 举报
写在两个java文件中,服务端文件和客户端文件,比如下列代码,希望对你有所帮助
import java.net.*;
import java.io.*;

//客户端
public class TCPClient
{
public static void main(String[] args) throws Exception
{
Socket s = new Socket("127.0.0.1",1025);
OutputStream os = s.getOutputStream();
DataOutputStream dos = new DataOutputStream(os);
dos.writeUTF("hello server!");
dos.flush();
dos.close();
os.close();
}
}

import java.net.*;
import java.io.*;
//服务端
public class TCPServer
{
public static void main  (String[] args)throws Exception
{
ServerSocket ss = new ServerSocket(1025);
while (true)
{
Socket s = ss.accept();
DataInputStream dis = new DataInputStream(s.getInputStream());
System.out.println(dis.readUTF());
System.out.println("bye-bye client");
dis.close();
s.close();
//System.out.println("a client has connected!");
}
}
回复 使用道具 举报
两个.
一个负责服务器,一个负责客户端.   服务器需要先于客户端开启并监听端口.之后再连接客户端.
如果要写成一个也似乎不是不可以.只不过可能需要双线程和一些线程安全问题.   我只是想想,并没有实践过,如果楼主有兴趣,可以尝试一下.
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马