论坛风格切换切换到宽版
  • 1721阅读
  • 25回复

套接字编程~~救命哪~~ [复制链接]

上一主题 下一主题
 
发帖
467
白金币
770
威望
64
人气
1
昵称
我玩过
正在玩
爱好
只看楼主 倒序阅读 楼主  发表于: 2008-01-02
老师要我们做个基于TCP连接的简单的服务器端和客户端.
明天就要交!!
网上源代码一堆,要不就编译错误,要不就看不懂,要不就太长~~
要死人了~~
哪位大侠能帮帮我呀..
要C语言编的,我只看得懂这个....
评价一下你浏览此帖子的感受

火星

寂寞

发骚

和谐

找抽

福利

无害

基情
Founia对你很友善,看起来是个可以轻易出错的FC.

发帖
7533
白金币
9706
威望
1925
人气
4
昵称
我玩过
正在玩
爱好
只看该作者 沙发  发表于: 2008-01-02
TCP客户端

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
import java.io.PrintWriter;
import java.net.UnknownHostException;
import java.net.Socket;
import java.net.InetAddress;

public class TCPEchoClient
{
    private static InetAddress host;
    private static final int PORT = 1234;

    public static void main(String[] args)
    {
        try
        {
            host = InetAddress.getLocalHost();
        }
        catch(UnknownHostException e)
        {
            System.out.println("Host ID not found!");
            System.exit(1);
        }
        run();
    }

    private static void run()
    {
        Socket link = null;                //Step 1.

        try
        {
            link = new Socket(host,PORT);        //Step 1.

            BufferedReader in =
                new BufferedReader
                    (new InputStreamReader
                           (link.getInputStream()));//Step 2.

            PrintWriter out = new PrintWriter(
                    link.getOutputStream(),true);     //Step 2.

            //Set up stream for keyboard entry...
            BufferedReader userEntry =
                    new BufferedReader
                         (new InputStreamReader(System.in));

            String message, response;
            do
            {
                System.out.print("Enter message: ");
                message =  userEntry.readLine();
                out.println(message);         //Step 3.
                response = in.readLine();        //Step 3.
                System.out.println("\nSERVER> " + response);
            }while (!message.equals("***CLOSE***"));
        }
        catch(IOException e)
        {
            e.printStackTrace();
        }

        finally
        {
            try
            {
                System.out.println(
                            "\n* Closing connection... *");
                link.close();                //Step 4.
            }
            catch(IOException e)
            {
                System.out.println("Unable to disconnect!");
                System.exit(1);
            }
        }
    }
}

发帖
7533
白金币
9706
威望
1925
人气
4
昵称
我玩过
正在玩
爱好
只看该作者 板凳  发表于: 2008-01-02
TCP服务器端

import java.io.PrintWriter;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;

public class TCPEchoServer
{
  private static ServerSocket servSock;
  private static final int PORT = 1234;

  public static void main(String[] args)
  {
      System.out.println("Opening port...\n");
      try
      {
        servSock = new ServerSocket(PORT);      //Step 1.
      }
      catch(IOException e)
      {
        System.out.println("Unable to attach to port!");
        System.exit(1);
      }
      do
      {
        run();
      }while (true);
  }

  private static void run()
  {
      Socket link = null;                        //Step 2.
      try
      {
        link = servSock.accept();              //Step 2.

        BufferedReader in =
              new BufferedReader(
                   new InputStreamReader(
                        link.getInputStream())); //Step 3.
        PrintWriter out = new PrintWriter(
                  link.getOutputStream(),true); //Step 3.

        int numMessages = 0;
        String message = in.readLine();        //Step 4.
        while (!message.equals("***CLOSE***"))
        {
            System.out.println("Message received.");
            numMessages++;
            out.println("Message " + numMessages
                          + ": " + message);    //Step 4.
            message = in.readLine();
        }
        out.println(numMessages
                    + " messages received.");    //Step 4.
        }
        catch(IOException e)
        {
            e.printStackTrace();
        }

        finally
        {
            try
            {
                System.out.println(
                                "\n* Closing connection... *");
                link.close();                   //Step 5.
            }
            catch(IOException e)
            {
                System.out.println("Unable to disconnect!");
                System.exit(1);
            }
        }
    }
}

发帖
7533
白金币
9706
威望
1925
人气
4
昵称
我玩过
正在玩
爱好
只看该作者 地板  发表于: 2008-01-02
socket编程好像比较流行用java

代码中的//step 1234 就是建立一个最简单client&server的标准步骤

这2段代码可直接运行  客户端输入信息 发到服务器端 服务器再转发给客户端 over
发帖
3491
白金币
13515
威望
529
人气
4
昵称
我玩过
正在玩
爱好
只看该作者 粪坑  发表于: 2008-01-02
人家要c,光头趁机灌水,活跃度-1000
发帖
467
白金币
770
威望
64
人气
1
昵称
我玩过
正在玩
爱好
只看该作者 粪坑边缘  发表于: 2008-01-02
谢谢~~
这个好像是JAVA的吧.....
Founia对你很友善,看起来是个可以轻易出错的FC.
发帖
467
白金币
770
威望
64
人气
1
昵称
我玩过
正在玩
爱好
只看该作者 前排围观  发表于: 2008-01-02
要JAVA的话,我书上就有例子可以抄,问题是抄了我也不懂,老师随便问两句就露馅了
Founia对你很友善,看起来是个可以轻易出错的FC.

发帖
7533
白金币
9706
威望
1925
人气
4
昵称
我玩过
正在玩
爱好
只看该作者 7 发表于: 2008-01-02
引用第4楼icecream于2008-01-02 20:05发表的  :
人家要c,光头趁机灌水,活跃度-1000


被发现了~~
发帖
9818
白金币
11173
威望
3469
人气
106
昵称
我玩过
正在玩
爱好
只看该作者 8 发表于: 2008-01-02
C的也容易的,加个指针就行了
发帖
467
白金币
770
威望
64
人气
1
昵称
我玩过
正在玩
爱好
只看该作者 9 发表于: 2008-01-02
请给予有建设性意义滴指导~~
Founia对你很友善,看起来是个可以轻易出错的FC.

发帖
7533
白金币
9706
威望
1925
人气
4
昵称
我玩过
正在玩
爱好
只看该作者 10 发表于: 2008-01-02
能看懂c基本就能看懂java

反正步骤就是这些 无非是换个函数名之类的
发帖
467
白金币
770
威望
64
人气
1
昵称
我玩过
正在玩
爱好
只看该作者 11 发表于: 2008-01-02
唉~~我做好等死的准备了...
Founia对你很友善,看起来是个可以轻易出错的FC.
发帖
9818
白金币
11173
威望
3469
人气
106
昵称
我玩过
正在玩
爱好
只看该作者 12 发表于: 2008-01-02
只能怪你平时不努力,一窍不通

南开100题你都会做了吗?
发帖
467
白金币
770
威望
64
人气
1
昵称
我玩过
正在玩
爱好
只看该作者 13 发表于: 2008-01-02
没听过....
我才学C一个星期
Founia对你很友善,看起来是个可以轻易出错的FC.

发帖
5074
白金币
7522
威望
777
人气
15
昵称
我玩过
正在玩
爱好
只看该作者 14 发表于: 2008-01-02
我这有只有C#的。

C++的貌似都用ACE库的吧,现在。
发帖
2246
白金币
2337
威望
302
人气
15
昵称
我玩过
正在玩
爱好
只看该作者 15 发表于: 2008-01-02
洗干净PP等挨板子吧
发帖
9818
白金币
11173
威望
3469
人气
106
昵称
我玩过
正在玩
爱好
只看该作者 16 发表于: 2008-01-02
如果是刚学C,,,老师怎么会叫你们写这东西,,,

发帖
7533
白金币
9706
威望
1925
人气
4
昵称
我玩过
正在玩
爱好
只看该作者 17 发表于: 2008-01-02
男开100题是啥
发帖
9818
白金币
11173
威望
3469
人气
106
昵称
我玩过
正在玩
爱好
只看该作者 18 发表于: 2008-01-02
就是里面有100道习题,全是关于TC编程的基础题,弄懂了,你就80%掌握TC了
发帖
467
白金币
770
威望
64
人气
1
昵称
我玩过
正在玩
爱好
只看该作者 19 发表于: 2008-01-03
很早就布置这个作业了,还说要中期检查什么的,后来就一直没音信,大家都以为不用搞了.........
谁知老师突然想起来了"你们把做的东西都拿出来看下,明天."
Founia对你很友善,看起来是个可以轻易出错的FC.

发帖
7533
白金币
9706
威望
1925
人气
4
昵称
我玩过
正在玩
爱好
只看该作者 20 发表于: 2008-01-03
F MM 在读研究生?  啥专业
发帖
467
白金币
770
威望
64
人气
1
昵称
我玩过
正在玩
爱好
只看该作者 21 发表于: 2008-01-03
软件工程
Founia对你很友善,看起来是个可以轻易出错的FC.
发帖
467
白金币
770
威望
64
人气
1
昵称
我玩过
正在玩
爱好
只看该作者 22 发表于: 2008-01-03
虽然今天混过去了,但是我还是想把这个弄懂~~继续求高人教我~~
Founia对你很友善,看起来是个可以轻易出错的FC.

发帖
7533
白金币
9706
威望
1925
人气
4
昵称
我玩过
正在玩
爱好
只看该作者 23 发表于: 2008-01-03
你研究生具然读这个....   想不开啊

你肯定得学JAVA  买本oreilly的 《Java网络编程》

一看就明白

发帖
2842
白金币
5352
威望
758
人气
1
昵称
Legendz Zecchin
我玩过
KOK.EQ.WOW
正在玩
爱好
只看该作者 24 发表于: 2008-01-03
该主题已被管理员屏蔽!

BATTLETAG: Zecchin#1552
发帖
467
白金币
770
威望
64
人气
1
昵称
我玩过
正在玩
爱好
只看该作者 25 发表于: 2008-01-03
老板做的项目要用C编,没空学JAVA呀~~
我知道JAVA编写起来肯定容易些.
以后有空再学JAVA吧
Founia对你很友善,看起来是个可以轻易出错的FC.
快速回复
限300 字节
 
上一个 下一个