From owner-FreeBSD-users-jp@jp.freebsd.org  Sun Jan 12 06:01:26 1997
Received: by jaz.jp.freebsd.org (8.8.4+2.7Wbeta4/8.7.3) id GAA20957
	Sun, 12 Jan 1997 06:01:26 +0900 (JST)
Received: by jaz.jp.freebsd.org (8.8.4+2.7Wbeta4/8.7.3) with ESMTP id GAA20940
	for <FreeBSD-users-jp@jp.freebsd.org>; Sun, 12 Jan 1997 06:01:23 +0900 (JST)
Received: from kosys.esys.tsukuba.ac.jp by jp-gate.wide.ad.jp (8.7.5+2.6Wbeta6/2.8Wb-jp-gate/1.2) with SMTP
	id VAA15161; Sat, 11 Jan 1997 21:01:20 GMT
Received: from junkun.esys.tsukuba.ac.jp (junkun.vblab.tsukuba.ac.jp) by kosys.esys.tsukuba.ac.jp (4.1/6.4J.5-7.2) id AA04504; Sun, 12 Jan 97 06:00:11 JST
Received: from localhost (localhost [127.0.0.1]) by junkun.esys.tsukuba.ac.jp (8.6.12/3.4W406/21/96) with SMTP id GAA11079 for <FreeBSD-users-jp@jp.freebsd.org>; Sun, 12 Jan 1997 06:01:11 +0900
Message-Id: <199701112101.GAA11079@junkun.esys.tsukuba.ac.jp>
X-Authentication-Warning: junkun.esys.tsukuba.ac.jp: Host localhost didn't use HELO protocol
To: FreeBSD-users-jp@jp.freebsd.org
From: Jun YAMASHITA/=?ISO-2022-JP?B?GyRCOzMyPBsoQg==?= =?ISO-2022-JP?B?GyRCPV8bKEI=?= <junkun@esys.tsukuba.ac.jp>
In-Reply-To: Your message of "Sun, 12 Jan 1997 01:24:32 +0900"
References: <199701111624.BAA00408@mousa.bitstream.or.jp>
X-Mailer: Mew version 1.53 on Emacs 19.28.1, Mule 2.3
Mime-Version: 1.0
Content-Type: Text/Plain; charset=iso-2022-jp
Content-Transfer-Encoding: 7bit
Date: Sun, 12 Jan 1997 06:01:11 +0900
Reply-To: junkun@esys.tsukuba.ac.jp
X-Distribute: distribute [version 2.1 (Alpha) patchlevel=19]
X-Sequence: FreeBSD-users-jp 8384
Subject: [FreeBSD-users-jp 8384] port number
Errors-To: owner-FreeBSD-users-jp@jp.freebsd.org
Sender: owner-FreeBSD-users-jp@jp.freebsd.org

$B0J2<$N$h$&$J4X?t$r:n$C$F$_$^$7$?!#(B

#include <stdio.h>
#include <unistd.h>
#include <string.h>
#include <fcntl.h>
#include <errno.h> 
#include <sys/types.h>
#include <sys/param.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netdb.h>

int server(u_short port){
  struct hostent     *myhost;
  struct sockaddr_in  me;
  char                hostname[MAXHOSTNAMELEN+1];
  int                 s;    
  int                 flag; 

  gethostname(hostname, MAXHOSTNAMELEN);
  
  if((myhost=gethostbyname(hostname))==NULL){
    perror("gethostname");
    return -1;
  }

  bzero((char*)&me, sizeof(me));
  me.sin_family=AF_INET;
  me.sin_port=port;
  bcopy(myhost->h_addr, (char*)&me.sin_addr, myhost->h_length);

  if((s=socket(AF_INET, SOCK_STREAM, 0))<0){
    perror("socket");
    return -1;
  }
  
  flag=1;
  setsockopt(s, SOL_SOCKET, SO_REUSEADDR, &flag, sizeof(flag));
  
  if(bind(s, (struct sockaddr*)&me, sizeof(me))<0){
    perror("bind");
    return -1;
  }

  fprintf(stderr, "Successfully bound, now listens.\n");

  listen(s, 5);

  return s;
}

int non_block(int s){
  if(fcntl(s, F_SETFL, O_NONBLOCK)<0){
    perror("fcntl");
    return -1;
  }

  return s;
}

void main(void){
  int s_wait, s;

  if((s_wait=server(3000))<0)
    exit(1);

  if(non_block(s_wait)<0)
    exit(1);

  do{
    if((s=accept(s_wait, NULL, NULL))<0){
      if(errno==EWOULDBLOCK){
	fprintf(stderr, "not conneted!\n");
	sleep(1);
      }
      else{
	perror("accept");
	exit(1);
      }
    }
  }while(s<0);

  close(s_wait);
  shutdown(s, 2);
}

$B$3$l$rNc$($P(B test $B$H$$$&L>A0$GJ]B8$7$F<B9T$7$^$9!#%]!<%HHV9f$O(B8000$BHV$H(B
$B7h$aBG$A$7$F$*$-$^$9!#(B

$B<B9T$9$k$H!"%/%i%$%"%s%HB&$G(B connect $B$r<B9T$9$k$^$G(B

unkun: {647} ./test
Successfully bound, now listens.
not conneted!
not conneted!

$B$HI=<($5$l$^$9!#$3$N;~$KJL$N(B window $B$G(Bnetstat$B$r<B9T$9$k$H(B

junkun: {84} netstat
Active Internet connections
Proto Recv-Q Send-Q  Local Address          Foreign Address        (state)
tcp        0      0  junkun.vblab.tsu.16415 *.*                    LISTEN
tcp        0      0  junkun.vblab.tsu.1023  orchid-gw.is.tsu.login ESTABLISHED

$B$HI=<($5$l$^$9!#K\Ev$O(B8000$B$HI=<($5$l$k$N$G$7$g$&$,!"(B16415$B$HI=<($5$l$F(B
$B$7$^$$$^$9!#(B

$BEvA3!"(Btelnet junkun 8000 $B$G$b7R$,$j$^$;$s!#(BSolaris 2.5 $B$d(B IRIX 6.2 $B$G(B
$B$O<B9T$G$-$^$9!#(B

$B$^$?!"%]!<%HHV9f$r(B 16415 $B$K$7$F<B9T$9$k$H(B
junkun: {86} !n
netstat
Active Internet connections
Proto Recv-Q Send-Q  Local Address          Foreign Address        (state)
tcp        0      0  junkun.vblab.tsu.8000  *.*                    LISTEN
tcp        0      0  junkun.vblab.tsu.1023  orchid-gw.is.tsu.login ESTABLISHED

$B$H!"$3$s$I$O(B8000$BHV$K$J$C$F$7$^$$$^$9!#(B

$B$$$^$^$GJL$N(BOS$B$G$O<B9T$G$-$F$$$?$N$G$9$,!"$I$3$+%^%:$$=j$,$"$k$N$G$7$g(B
$B$&$+(B?


---
$B;32<(B $B=_!wC^GHBg3XBh;03X729)3X%7%9%F%`3XN`(B/$B%0%k!<%W%&%(%"8&5f<<(B
	 $B%Y%s%A%c!<%S%8%M%9%i%\%i%H%j(B $B%7!<%`%l%9%a%G%#%"8&5f<<(B
email; junkun@junkun.esys.tsukuba.ac.jp
